在Image转化为字节转时,代码如下:

MemoryStream ms=new MemoryStream();
      Bitmap t = new Bitmap(dm.Photo);//dm.Photo为Image对象,dm.Photo=this.pictrurBox1.Image;
     
      dm.Photo.Save(ms,dm.Photo.RawFormat);//此处出错.
      byte[] arrImage=ms.GetBuffer();
      ms.Close();

发生了"GDI+ 中发生一般性错误"的错误,经过查找,才知道:"Bitmap 对象或一个 图像 对象从一个文件, 构造时该文件仍保留锁定对于对象的生存期。 因此, 无法更改图像并将其保存回它产生相同的文件。"(出自于Microsoft网站),应该是对象引用与对象的生存期的问题,那么就创建一个一模一样的副本,然后再对副本进行操作,代码如下:

MemoryStream ms=new MemoryStream();
      Bitmap t = new Bitmap(dm.Photo);//创建副本
      t.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); //对副本进行操作
      byte[] arrImage=ms.GetBuffer();
      ms.Close();

相关文章:

  • 2022-12-23
  • 2021-08-02
  • 2021-11-05
  • 2021-04-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-25
猜你喜欢
  • 2021-08-27
  • 2021-12-06
  • 2021-11-01
  • 2021-06-17
  • 2021-12-29
  • 2021-12-25
  • 2022-12-23
相关资源
相似解决方案