我試圖加載一個非常大的圖像(14473x25684),但我遇到了內存限制。OutofMemoryException - 加載非常大的圖像
這裏有一個簡單的程序來說明這個問題:
static void Main(string[] args)
{
string largeimage = @"C:\Temp\test_image.jpg"; // 14473x25684
Image i = Bitmap.FromFile(largeimage); // OutofMemoryException was unhandled
}
現在我明白了,這個問題是不相關的我多少物理內存有,而是尋址的限制。有什麼我可以做的,以解決這個限制?
圖像確實有效,它在Photoshop(VM Size:916MB)和ACDSee中可以正常打開。 也不要打擾谷歌的維度列出的尺寸不準確。 :)
謝謝你的時間。
我已經遇到過這個。從我可以告訴它的框架踢。 – 2010-08-24 04:49:54
哇。這是一個大局。不幸的是,框架Bitmap類不會滿足您的需求。您可能會發現採取分塊的方法,您可以自己編組位圖標題並將像素採樣爲更易於管理的圖像尺寸,這是您的最佳選擇。這是一個挑戰,因爲它涉及到一個小輪子重建。如果Photoshop和ACDSee將整個未壓縮的圖像加載到內存中,我會感到驚訝。 – kbrimington 2010-08-24 05:10:58