在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();