为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
梦里花落0921 2021-09-19 16:16:23
简短的我想在我的图片框中显示一个 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 回答

?
一只名叫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.

}


查看完整回答
反对 回复 2021-09-19
  • 1 回答
  • 0 关注
  • 174 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信