1.对于byte数组带有图像信息的,可以直接转
byte[] byts=new byte[1000000];
var bitMap = Image.FromStream(new MemoryStream(byts));
2.对于byte数组不带有图像信息的,则需要指定图像信息后转成Bitmap
public static Bitmap buildBMP(int width, int height, byte[] imgBytes)
{
Bitmap bmp = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height),
ImageLockMode.WriteOnly, bmp.PixelFormat);
//用Marshal的Copy方法,将刚才得到的内存字节数组复制到BitmapData中
System.Runtime.InteropServices.Marshal.Copy(imgBytes, 0, bmpData.Scan0, imgBytes.Length);
//解锁内存区域
bmp.UnlockBits(bmpData);
return bmp;
}