将位图转换为字节数组使用C#,是否有更好的方法来转换WindowsBitmap转到byte[]保存到临时文件并使用FileStream?
3 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
A 内存流
public static class ImageExtensions{ public static byte[] ToByteArray(this Image image, ImageFormat format) { using(MemoryStream ms = new MemoryStream()) { image.Save(ms, format); return ms.ToArray(); } }}
var image = new Bitmap(10, 10);// Draw your imagebyte[] arr = image.ToByteArray(ImageFormat.Bmp);
ImageConverter
MemoryStream
Bitmap
ImageConverter
MemoryStream
白猪掌柜的
TA贡献1893条经验 获得超10个赞
public static byte[] BitmapToByteArray(Bitmap bitmap){ BitmapData bmpdata = null; try { bmpdata = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, bitmap.PixelFormat); int numbytes = bmpdata.Stride * bitmap.Height; byte[] bytedata = new byte[numbytes]; IntPtr ptr = bmpdata.Scan0; Marshal.Copy(ptr, bytedata, 0, numbytes); return bytedata; } finally { if (bmpdata != null) bitmap.UnlockBits(bmpdata); }}
- 3 回答
- 0 关注
- 350 浏览
添加回答
举报
0/150
提交
取消