怎么用C#把一个24位的bmp位图文件读入到一个数组中?图片的大小事先是不知道的

还望高手指导

另外,如果能告诉我怎么样用相对路径读图片,就更感谢啦!

还有,读到数组里去之后二维数组的每个元素的值代表什么呢?

1.读取文件。
使用System.IO命名空间加的一个类库。读取一个文件可以按文本的方式读取,也可以按二进制流的方式读取,按二进制流的方式读取,返回的结果就是一个字节数组。
byte[] bmps = System.IO.File.ReadAllBytes("a.bmp");

2.所谓路径。
路径是文件系统的一个概念,对于一个Windows文件系统来说,路径是个树形结构,每棵树都有一个根节点。
把硬盘分成数个分区(C:,D:,E:……),每个分区又可以建立数个文件夹,在文件夹下面可以建立其他文件夹或者文件。其中每个盘符就是这个盘的文件系统树的根节点。
Windows系统采用了树状目录结构,即Windows系统不仅允许在目录中存放文件,而且允许在一个目录中建立它的下级目录,称为子目录;如果需要,用户可以在子目录中再建立该子目录的下级目录;……。这样在一个磁盘上,它的目录结构可能是由一个根目录和若干个子目录以及子目录的子目录……所构成的。
有了树状目录结构,我们常把同一应用系统的文件集中在一个子目录中,或者把同一个类型的文件集中在一个子目录中,或者为不同的用户设立不同的子目录,各人使用各自的子目录,互不干涉。
2.文件标识符
有了树状目录结构,在一个盘中要指明一个文件,不仅要给出该文件的文件名,还应给出该文件的路径——查找途径。当你要计算机做事时,你就要告诉计算机从何处去拿,然后放在何处,这就好像你寄信时在信封上写上收信人与写信人的地址,而不能光写姓名。 Windows中路径是指从根目录(或者当前目录)开始,到达指定的文件所经过的一组目录名,如果路径中的第一个符号是反斜杠(“\”),则其表示根目录。各个目录名之间也用反斜杠(“\”)相互分隔。

所谓绝对路径就是一个文件的完整路径,即从根目录(就是盘符)开始,到达指定文件所经过的一组目录名。
相对路径就是以当前路径为参考,进行查找,其中.代表当前目录,..代表上级目录。
假设程序在d:\abc目录下面,它要使用d:\abc\edf目录下面的一个文件file1.txt,那么
绝对路径就是d:\abc\edf\file1.txt;
相对路径就是:edf\file1.txt
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-08-01
bitmap b = new bitmap("文件名");
int width = b.width,height = b.height;
int[] pixes = new int[width*height];
for(int i = 0;i<height;i++)
{
for(int j = 0;j<width;j++)
{
int[i*width+j] = b.getpixe(i,j).Argb;
}
}
大概是这个意思,可能有很多错误,读出来的是像素的颜色值
第2个回答  2009-08-01
byte[] bmps = System.IO.File.ReadAllBytes("c:\\a.bmp");
第3个回答  2009-08-01
我只能把图片写入到一个byte数组里面,相对路径读取图片用<.../相对路径名>就可以了.

怎么用C#把一个24位的bmp位图文件读入到一个数组中?图片的大小事先是...
1.读取文件。使用System.IO命名空间加的一个类库。读取一个文件可以按文本的方式读取,也可以按二进制流的方式读取,按二进制流的方式读取,返回的结果就是一个字节数组。byte[] bmps = System.IO.File.ReadAllBytes("a.bmp");2.所谓路径。路径是文件系统的一个概念,对于一个Windows文件系统来说,...

VC 获取24位真彩色的个点RGB分量值
你这个题目不小,首先你要知道这种图片文件的格式。然后再按格式打开,并找到数据的存放区域,不按要求才能读出数据。比如,许多书上都介绍的位图文件,有文件头和数据区组成,你需要知道文件头有多大,然后数据区的开始位置需要找到,还应清楚图像信息的放置是从后到前的,也就是说信息是倒置的。另外,j...

C#中的Image不能被实例化,但是方法返回一个Image是怎么回事?
第一: FromFile是定义在Image类中的static(静态)方法:public static Image FromFile( string filename );一个类的静态方法也被称为类方法 —— 即通过“类名.方法名”调用方法,不需要实例化类。所以通过 Image.FromFile() 调用方法。第二: 在.net中Image被定义为抽象类(abstract class),所...

用c#编写一个程序读取一张bmp图片的数据并转化为灰度图保存到文件中_百...
读取本地图片地址:Image img = Bitmap.FromFile("文件地址");转换为 Bitmap 对象:Bitmap bmpobj = (Bitmap)img;转换为灰度图片(传入刚才转换为 Bitmap 的对象,返回值为转换后的灰度图片对象):public Bitmap GrayByPixels(Bitmap bmpobj){ for (int i = 0; i < bmpobj.Height; i++...

C#中怎么判断读取的BMP图片是24位彩色图的还是8位的灰度图,最好能详细...
bitmap有一个format属性可以判断图形格式.

如何把24位彩色图片转换成8位彩色图片,谁给个C#写的例子。谢谢啦_百度...
\/\/ 开始尝试读取图片文件.try { \/\/ 第2个参数为:如果要为此 Bitmap 使用颜色校正,则为 true;否则为 false。image1 = new Bitmap(bmpFileName, true);\/\/ 读取数据.colorList =ReadBitmap(image1);} catch (Exception ex){ Console.WriteLine("图片处理的过程中发生了错误:"+ ex.Message);...

在C#中,怎样才可以将一个文件夹里面图片复制在另一个文件夹中?_百度知 ...
楼上的是复制文件的方法,你可以先便利文件夹里的所有文件,后缀为jpg,bmp,png之类的就复制,就实现啦

...每个是单独是数组存放 那么怎么怎么生成图片呢?
转存到一个数组里比如buffer[bmpWidth*bmpHeight*3],bmp的排列顺序好象记得是g、b、r,然后int stride = bmpWidth * 3;GCHandle handle = GCHandle.Alloc( buffer, GCHandleType.Pinned );int scan0 = (int) handle.AddrOfPinnedObject();scan0 += (bmpHeight- 1) * stride;Bitmap b = ...

用标准c读取bmp文件的长宽?
1. BMP文件组成 BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。 2. BMP文件头 BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。 其结构定义如下: typedef struct tagBITMAPFILEHEADER{WORDbfType; \/\/ 位图文件的类型,必须为BMDWORD bfSize; \/\/ 位图文件的大小,以字节为单位WORD...

c# 如何在大图里面找小图(bmp)
1。2张黑白bmp图片大小不一,不要像素逐个比较的,要高效的。请各位高人指点,c#能调用的任何语言都行。2。如何快速的吧bmp位图转成2值数据3。两个字符串stringa="00111000110"string... 1。 2张黑白bmp 图片大小不一,不要像素逐个比较的,要高效的。请各位高人指点,c#能调用的任何语言都行。2。 如何快速的吧...

相似回答