繁体   English   中英

C#Win。 表单-检索图像时内存不足

[英]C# Win. Form - Out of memory when retrieving an Image

简要

我想在我的PictureBox中显示一个PNG图像。 在运行时,软件向用户询问图像的路径。

我正在使用的解决方案

这是我现在的代码

picturebox1.Image = null;
OpenFileDialog ofDlg = new OpenFileDialog();
ofDlg.Filter = "Image files|*.png";
if (DialogResult.OK == ofDlg.ShowDialog())
{
     picturebox1.Image = Image.FromFile(ofDlg.FileName); //Out of memory.
}

问题

现在一切正常,直到我得到25.7 MB(8827 x 11350 pixel)的图像为止。

我知道你们可能都建议我应该得到该图像的较浅版本,但问题是该软件用于缩放图像以查看详细图像。 所以我不能不惜一切代价调整它的大小。

现在,只要我运行上面的代码,它就会给我一个例外

记不清。

我不明白这里出了什么问题,因为我的PC上安装8GB的RAM ,那么它内存不足了吗? 以下是出现此错误消息时我的CPU使用率。

在此处输入图片说明

遵循所有注释的提示,即确保您使用的是64位

但是,您还需要确保要处置图像,否则迟早会耗尽内存。 以下只是一个例子

if(picturebox1.Image != null)
   picturebox1.Image.Dispose();

picturebox1.Image = null;

OpenFileDialog ofDlg = new OpenFileDialog();
ofDlg.Filter = "Image files|*.png";
if (DialogResult.OK == ofDlg.ShowDialog())
{
     picturebox1.Image = Image.FromFile(ofDlg.FileName); //Out of memory.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM