使用System.Drawing.Image加载图像时内存不足
本文关键字:图像 内存不足 加载 Image System Drawing 使用 | 更新日期: 2023-09-27 18:16:20
System.Drawing.Image original = System.Drawing.Image.FromFile(photo);
这就是我遇到问题的代码"Out of memory
"。
"photo
"是大小为6400x6400
的映像的路径。
有人知道吗?
这是c#吗?我想答案就在这里。
内存不足。FromFile
用户回答:https://stackoverflow.com/users/31158/jordao
在
可以抛出Image.FromFile
文档中,如果:OutOfMemoryException
:文件没有有效的图像格式。
或者
GDI+不支持像素格式的文件。
检查图片格式
同样,如果你想在加载图像后立即关闭流,你必须复制图像。请看这里。GDI+必须在图像的生命周期内保持流打开。
另一个值得考虑的顶级答案和线索:
System.Drawing.Image.FromFile()异常
来自用户:https://stackoverflow.com/users/22656/jon-skeet
值得知道的是,OutOfMemoryException并不总是真的意味着内存不足——特别是在处理文件时。我相信这也可能发生,如果你用完句柄的原因。
你是否在使用完位图后处理掉所有的位图?对于单个图像,这种情况是否会重复发生?
另外,我会补充-您是否使用代码保存了此文件并试图在另一个图像查看器中查看它?如果创建错误,可能会损坏
既然我假设这是在c#中,您的代码是在循环中还是在Paint
事件中?这可以解释为什么它不起作用。如果您多次加载多个图像或单个图像,您当然会遇到"内存不足"异常。