Byte[]、Image、Bitmap 之间的相互转换

来源:互联网 发布:mac qq怎么远程协助 编辑:程序博客网 时间:2024/06/05 14:06
/// <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 = null;    using (MemoryStream ms= new MemoryStream())    {        using (Bitmap Bitmap = new Bitmap(Image))        {            Bitmap.Save(ms, imageFormat);            ms.Position = 0;            data = 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转换BitmapBitmap img = new Bitmap(imgSelect.Image);Bitmap bmp = (Bitmap)pictureBox1.Image;

//Bitmap转换成Imageusing 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();     } } 

原创粉丝点击