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

mac2022-06-30  36

  /// <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转换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/Linc2010/p/3425368.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)