【问题标题】:Image in memory compression exception when getting byte array from the Image从图像中获取字节数组时,内存压缩异常中的图像
【发布时间】:2009-12-23 20:05:05
【问题描述】:

我有一个位图对象,它在运行时占用了很大一部分内存,我想在内存中压缩它(JPEG 格式),然后再使用它。我正在使用它进行压缩:

MemoryStream ms = new MemoryStream();
oBmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
oBmp.Dispose();
oBmp = null;
Image ResultImg = Image.FromStream(ms);
ms.Dispose();
ms = null;

我不知道这是否真的节省了一些内存,或者当我从流中加载图像时一切都恢复到正常的内存消耗。

无论如何,我稍后会尝试从此图像中获取字节数组,我正在使用:

MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return ms.ToArray();

其中 ImageIn 是前面代码中保存的同一个 Image。 但我得到一个 GDI+ 异常: [GDI+ 中出现一般错误。]

如果我没有在“内存压缩”中执行此操作,相同的代码也可以正常工作,但我确实需要它来节省内存。

谢谢

【问题讨论】:

    标签: graphics image


    【解决方案1】:

    我的错误,我不应该打电话:

    ms.Dispose();
    

    【讨论】:

      猜你喜欢
      • 2016-12-21
      • 2011-11-15
      • 1970-01-01
      • 2019-01-11
      • 2015-08-27
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多