为什么我不能从图像阵列创建图像

时间:2017-01-29 12:09:52

标签: c# image

我收到的错误与A generic error occurred in GDI+, JPEG Image to MemoryStream

非常相似

但是,我不相信我正在关闭该流,因此,答案不适用

请考虑

SELECT f.Username,
       t.Username
FROM   gift g
       LEFT JOIN users f
              ON f.UserID = g.FromID
       LEFT JOIN users t
              ON t.UserID = g.ToID 

问题是最后一行代码是kaboom!

  

“GDI +中发生了一般性错误。”

这是扩展方法

var img = (Tests.Properties.Resources.image).ToByteArray(); //img is a png;

using (var ms = new MemoryStream(img))
{
    var pic = Image.FromStream(ms);
    pic.Save(this._absolutePath, this._format); //kaboomn
}

所以,虽然我正在使用2个流,但第一次返回字节,因此,我没有使用相同的流,我只是使用字节。

1 个答案:

答案 0 :(得分:1)

替换

using (var ms = new MemoryStream(img))
{
    var pic = Image.FromStream(ms);
    pic.Save(this._absolutePath, this._format);
}

var pic = Image.FromStream(new MemoryStream(img)));
pic.Save(this._absolutePath, this._format);

选中此Bitmap and Image constructor dependencies