简短的我想在我的图片框中显示一个 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 像素)的图像。我知道你们可能都建议我应该得到这个图像的较亮版本,但问题是这个软件用于缩放图像以详细查看图像。所以我不能不惜一切代价调整它的大小。现在每当我运行上面的代码时,它都会给我异常内存不足。我不明白这里有什么问题,因为我的 PC 上安装了8GB 内存,然后它是如何内存不足的?以下是出现此错误消息时我的 CPU 使用情况。
1 回答
![?](http://img1.sycdn.imooc.com/54584f8f00019fc002200220-100-100.jpg)
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
遵循所有评论的建议,即确保您使用的是 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.
}
- 1 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消