if (openFileDialog1.FileName!=null && openFileDialog1.FileName!="")
{
FileStream st = new FileStream(openFileDialog1.FileName,FileMode.Open,FileAccess.Read);
BinaryReader mbr = new BinaryReader(st);
Byte[] buffer= new byte[st.Length];
mbr.Read(buffer, 0, (int)(st.Length));
st.Close();
//buffer is you need
}
{
FileStream st = new FileStream(openFileDialog1.FileName,FileMode.Open,FileAccess.Read);
BinaryReader mbr = new BinaryReader(st);
Byte[] buffer= new byte[st.Length];
mbr.Read(buffer, 0, (int)(st.Length));
st.Close();
//buffer is you need
}
private void button1_Click(object sender, System.EventArgs e)
{
Image myImage = Image.FromFile(@"d:\1.raw");
Bitmap bm = new Bitmap(myImage);
ReadToArray(bm);
}// 可能你还需要自己调试一下,想睡觉了!private void ReadToArray(Bitmap b)
{
// PixelFormat 枚举依据你的数字图象的格式来决定
BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
int stride = bmData.Stride;
System.IntPtr Scan0 = bmData.Scan0;
unsafe
{
byte * p = (byte *)(void *)Scan0;
int nOffset = stride - b.Width*3;
int nWidth = b.Width * 3;
for(int y=0;y<b.Height;++y)
{
for(int x=0; x < nWidth; ++x )
{
result[x,y] = (byte)(p[0]);
++p;
}
p += nOffset;
}
}
b.UnlockBits(bmData);
}