ホームページ  >  記事  >  バックエンド開発  >  C# は画像のバイト ストリーム byte[] を返します

C# は画像のバイト ストリーム byte[] を返します

黄舟
黄舟オリジナル
2016-12-27 13:50:131838ブラウズ

#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 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。