110,545
社区成员
发帖
与我相关
我的任务
分享
long jixian = pic1.Image.Width * pic1.Image.Height * 3 + dataarea -1 + pic1.Image.Height;
Bitmap bmp = new Bitmap(pic1.Image.Width, pic1.Image.Height);
long[] data = new long[pic1.Image.Width * pic1.Image.Height * 3 + dataarea + pic1.Image.Height];
{
for (int a1 = dataarea; a1 < pic1.Image.Width * pic1.Image.Height * 3 + dataarea + pic1.Image.Height; a1++)
data [a1] = aa.ReadByte();
}
for (int y = 0; pic1.Image.Height > y; y++)
{
for (int x = pic1.Image.Width - 1; x >= 0; x--)
if (dataarea <jixian)
{
bmp.SetPixel(x, y, Color.FromArgb(Convert.ToInt32(data[jixian - 1]), Convert.ToInt32(data[jixian - 2]), Convert.ToInt32(data[jixian - 3])));
jixian = jixian - 3;
}
else
{
}
}
pic2.Image = bmp;
}
else
{
MessageBox.Show("这个不是BMP图片");
}
--------------------------------------------------------文件头
'B''M' 2字节(固定为BM)
size 4字节(文件的长度,单位byte)
保留 4字节
偏移 4字节 (到位图数据的偏移,单位byte)
--------------------------------------------------------图像信息
图像信息头 40字节(sizeof(BITMAPINFOHEADER))
调色板 不固定
--------------------------------------------------------位图数据
........
........
--------------------------------------------------------