void testDemo(Byte[] bytes)
{
Image bitMap;
using (var ms=new MemoryStream(bytes,0, bytes.Length))
{
bitMap = Image.FromStream(ms);
bitMap.Save("d:\test.jpg");//无异常
}
bitMap.Save("d:\test1.jpg");//报错
using (var ms2 = new MemoryStream())
{
bitMap.Save(ms2, bitMap.RawFormat); //报错
}
}
bitmap在创建的时候必须包装创建的流是打开状态,否则后续无法使用,会报错。
解决办法
void testDemo(Byte[] bytes)
{
Image bitMap;
using (var ms=new MemoryStream(bytes,0, bytes.Length))
{
bitMap = Image.FromStream(ms);
bitMap.Save("d:\test.jpg");//无异常
}
bitMap.Save("d:\test1.jpg");//报错
using (var ms2 = new MemoryStream())
{
var newBitMap = new Bitmap(bitMap);//new一个
newBitMap.Save(ms2, bitMap.RawFormat); //无异常
}
}