byte[] ,image, bitmap之间的转换

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:54   2424   0

/// <summary>

/// 将图片Image转换成Byte[]

/// </summary>

/// <param name="Image">image对象</param>

/// <param name="imageFormat">后缀名</param>

/// <returns></returns>

public static byte[] ImageToBytes(Image Image, System.Drawing.Imaging.ImageFormat imageFormat)

{

if (Image == null) { return null; }

byte[] data = http://www.cnblogs.com/peasana/archive/2012/02/13/null;

using (MemoryStream ms= new MemoryStream())

{

using (Bitmap Bitmap = new Bitmap(Image))

{

Bitmap.Save(ms, imageFormat);

ms.Position = 0;

data = http://www.cnblogs.com/peasana/archive/2012/02/13/new byte[ms.Length];

ms.Read(data, 0, Convert.ToInt32(ms.Length));

ms.Flush();

}

}

return data;

}

/// <summary>

/// byte[]转换成Image

/// </summary>

/// <param name="byteArrayIn">二进制图片流</param>

/// <returns>Image</returns>

public static System.Drawing.Image byteArrayToImage(byte[] byteArrayIn)

{

if (byteArrayIn == null)

return null;

using (System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArrayIn))

{

System.Drawing.Image returnImage = System.Drawing.Image.FromStream(ms);

ms.Flush();

return returnImage;

}

}

//Image转换Bitmap

1. Bitmap img = new Bitmap(imgSelect.Image);

2. Bitmap bmp = (Bitmap)pictureBox1.Image;

//Bitmap转换成Image

using System.IO;

private static System.Windows.Controls.Image Bitmap2Image(System.Drawing.Bitmap Bi) { MemoryStream ms = new MemoryStream(); Bi.Save(ms, System.Drawing.Imaging.ImageFormat.Png); BitmapImage bImage = new BitmapImage(); bImage.BeginInit(); bImage.StreamSource = new MemoryStream(ms.ToArray()); bImage.EndInit(); ms.Dispose(); Bi.Dispose(); System.Windows.Controls.Image i = new System.Windows.Controls.Image(); i.Source = bImage; return i ; }

//byte[] 转换 Bitmap public static Bitmap BytesToBitmap(byte[] Bytes) { MemoryStream stream = null; try { stream = new MemoryStream(Bytes); return new Bitmap((Image)new Bitmap(stream)); } catch (ArgumentNullException ex) { throw ex; } catch (ArgumentException ex) { throw ex; } finally { stream.Close(); } } //Bitmap转byte[] public static byte[] BitmapToBytes(Bitmap Bitmap) { MemoryStream ms = null; try { ms = new MemoryStream(); Bitmap.Save(ms, Bitmap.RawFormat); byte[] byteImage = new Byte[ms.Length]; byteImage = ms.ToArray(); return byteImage; } catch (ArgumentNullException ex) { throw ex; } finally { ms.Close(); } } }

转载于:https://www.cnblogs.com/bile/archive/2012/12/21/2827389.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP