zoukankan      html  css  js  c++  java
  • Byte[]、Image、Bitmap_之间的相互转换

    1.将图片Image转换成Byte[]

    /// <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;

           }

    2. byte[]转换成Image

                /// <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;
                   }
               }

    3.  Image转换Bitmap

     

    //Image转换Bitmap

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

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

     

    4. Bitmap转换成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 ;
           }

    5. byte[] 转换 Bitmap

    //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();
               }
           } 
    6. Bitmapbyte[] 
        //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();
               }
           }
       }

  • 相关阅读:
    记一次css载入指定url失败
    更改MySQL密码后Navicat连接失败错误代码1045
    Maven项目中不显示Maven Dependenciesy依赖
    Mysql导入sql文件报错1064
    nexus-3.2.0-01.zip安装以及如何启动服务
    JS中函数的词法作用域
    关于JS中函数的返回值的一点死思考
    swich语句的小练习
    sublime的小技巧
    RPC failed; curl 18 transfer closed with outstanding read data remaining
  • 原文地址:https://www.cnblogs.com/lgx5/p/5827913.html
Copyright © 2011-2022 走看看