2017-02-02 58 views
0

我正在Visual Studio 2017 RC中運行控制檯應用程序。當執行下面的代碼時,我得到一個System.OutOfMemoryException: 'Out of memory.'異常。打開32位浮點圖像會導致OutOfMemoryException

im試圖加載的圖像是一個32位浮點圖像。
加載16位浮點圖像可以正常工作。

我試圖在配置管理器Plattform類型設置爲x64

using System.Drawing; 

namespace ConsoleAppImageTest 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string PathToFile = @"D:\img\rgb32bitF.tiff"; 
      Image img = Image.FromFile(PathToFile); 
     } 
    } 
} 
+0

顏色還是黑色? – Svekke

+0

rgba(1,1,1,1)。純白色。我在哪裏上傳文件到stackoverflow? – Leander

回答

0

This answer提供了打開(32位)tiff(如M Adeel Khalid所示)的解決方案。

添加一個PresentationCore參考和using System.Windows.Media.Imaging;

string PathToFile = @"D:\img\rgb32bitF.tiff"; 
Stream imageStreamSource = new FileStream(PathToFile, FileMode.Open, FileAccess.Read, FileShare.Read); 
TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); 
BitmapSource bitmapSource = decoder.Frames[0];