簡體   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