使用c#,是否有更好的方法将Windows位图转换为字节[],而不是保存到临时文件并使用FileStream读取结果?
当前回答
我相信你可以简单地做到:
ImageConverter converter = new ImageConverter();
var bytes = (byte[])converter.ConvertTo(img, typeof(byte[]));
其他回答
更简单:
return (byte[])System.ComponentModel.TypeDescriptor.GetConverter(pImagen).ConvertTo(pImagen, typeof(byte[]))
使用内存流而不是文件流,就像这样:
MemoryStream ms = new MemoryStream();
bmp.Save (ms, ImageFormat.Jpeg);
byte[] bmpBytes = ms.ToArray();
MemoryStream ms = new MemoryStream();
yourBitmap.Save(ms, ImageFormat.Bmp);
byte[] bitmapData = ms.ToArray();
非常简单,只需在一行中使用:
byte[] imgdata = File.ReadAllBytes(@"C:\download.png");
我相信你可以简单地做到:
ImageConverter converter = new ImageConverter();
var bytes = (byte[])converter.ConvertTo(img, typeof(byte[]));