>  기사  >  백엔드 개발  >  C#은 이미지의 바이트 스트림 byte[]를 반환합니다.

C#은 이미지의 바이트 스트림 byte[]를 반환합니다.

黄舟
黄舟원래의
2016-12-27 13:50:131798검색

#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

위 내용은 C#에서 반환한 바이트 스트림 byte[]의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.