没事总结一下平时用到的几种图像相互转换方法。供大家参考。
1.Bitmap 转byte[]数组:
/// <summary>
/// 将BitMap转换成bytes数组
/// </summary>
/// <param name="bitmap">要转换的图像</param>
/// <returns></returns>
private byte[] BitmapToByte(System.Drawing.Bitmap bitmap)
{
// 1.先将BitMap转成内存流
System.IO.MemoryStream ms = new System.IO.MemoryStream();
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
ms.Seek(0,System.IO.SeekOrigin.Begin);
// 2.再将内存流转成byte[]并返回
byte[] bytes = new byte[ms.Length];
ms.Read(bytes, 0, bytes.Length);
ms.Dispose();
return bytes;
}
2.byte[]转BitMap(这个是网上大多数人写的方法,实际上这个方法是有问题的。如果用该方法返回的Bitmap对象执行bitmap.Save()方法时会报错,那么多人也不验证就在上边写!!!,不说了,这个是反面教材,不要看。)
/// <summary>
/// Byte数组转Bitmap
/// </summary>
/// <param name="bytes">图像数组</param>
/// <returns></returns

本文总结了五种常见的图像转换方法,包括Bitmap转byte[]数组、错误的byte[]转Bitmap修复、从Image控件获取Bitmap、Bitmap转BitmapImage,以及从文件加载图片的高效方式。这些技巧有助于开发者在实际项目中高效处理图像数据。
最低0.47元/天 解锁文章
7236

被折叠的 条评论
为什么被折叠?



