怎样把Picturebox中的图像读出来,存储成二进制流的字节数组,以便存入数据库中

解决方案 »

  1.   

    Image img = PictureBox1.Image;
    MemoryStream ms = new MemoryStream();
    img.Save(ms);
      

  2.   

    为何要读图像呢,我记得读图像的存储地址比较合理。虽然数据库能存储image类型,但是那样太不灵活了。
      

  3.   

    为何要读图像呢,我觉得读图像的存储地址比较合理。虽然数据库能存储image类型,但是那样太不灵活了。
      

  4.   

    借花献佛:
    图像转换为Byte存入数据库中
    1、存入时把Bitmap转换为Byte
     private static byte[] ImageDatabytes(Bitmap myBitmap)
      {
      try
      {
      using (MemoryStream curImageStream = new MemoryStream())
      {
      myBitmap.Save(curImageStream, System.Drawing.Imaging.ImageFormat.Png);
      curImageStream.Flush();
      byte[] bmpBytes = curImageStream.ToArray();
      return bmpBytes;
      }
      }
      catch
      {
      return null;
      }
      }
    2、Bitmap bitmap =new Bitmap(picBox.Image);//提取图片转化为Bitmap
    3、byte[] bytes=ImageDatabytes(bitmap)//将bitmap转化为byte[]图像从数据库中读取转换为图像
    1、读取时把Byte转换为Bitmap
    public static Bitmap GetImage(byte[] ImageDatas)
      {
      try
      {
      using (MemoryStream ImageMS = new MemoryStream())
      {
      ImageMS.Write(ImageDatas, 0, ImageDatas.Length);
      Bitmap resultBitmap = new Bitmap(ImageMS);
      return resultBitmap;
      }
      }
      catch
      {
      return null;
      }
      }
    2、Bitmap bitmap=GetImage(btyes)//将数据库中提取数据转化为bitmap
    3、picBox.Image=bitmap//设置显示图片属性