Heim  >  Artikel  >  Backend-Entwicklung  >  C# gibt den Bytestream Byte[] des Bildes zurück

C# gibt den Bytestream Byte[] des Bildes zurück

黄舟
黄舟Original
2016-12-27 13:50:131798Durchsuche

#region 返回图片的字节流byte[]
        /// <summary>
        /// 返回图片的字节流byte[]
        /// </summary>
        ///<param name="imagePath">
        ///<param name="webClient">
        /// <returns></returns>
        public static byte[] getImageByte(string imagePath, WebClient webClient)
        {
            byte[] imgByte = null;
            try
            {
                //MessageBox.Show("getImageByte");
                //Stopwatch stopwatch = new Stopwatch();
                //stopwatch.Start();
                //DateTime dateStart = DateTime.Now;
 
                if (PubFunc.UrlDiscern(imagePath))
                {
                    Bitmap bt = new Bitmap(webClient.OpenRead(imagePath));
                    imgByte = PubFunc.ImgToByte(bt);
                }
                else
                {
                    using (FileStream files = new FileStream(imagePath, FileMode.Open))
                    {
                        imgByte = new byte[files.Length];
                        files.Read(imgByte, 0, imgByte.Length);
                        files.Close();
                    }
                }
                //stopwatch.Stop();
                //MessageBox.Show((DateTime.Now - dateStart).TotalMilliseconds.ToString());
 
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.ToString());
            }
            return imgByte;
        }
        #endregion
#region 图片转换成字节流
      /// <summary>
      /// 图片转换成字节流
      /// </summary>
      ///<param name="img">要转换的Image对象
      /// <returns>转换后返回的字节流</returns>
      public static byte[] ImgToByte(Image img)
      {
          try
          {
              using (MemoryStream ms = new MemoryStream())
              {
                  byte[] imagedata = null;
                  img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                  imagedata = ms.GetBuffer();
                  return imagedata;
              }
          }
          catch (Exception ee)
          {
              MessageBox.Show(ee.ToString());
              return null;
          }
      }
      #endregion

Das Obige ist der Inhalt des von C# zurückgegebenen Byte-Streams byte[]. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn