2017-02-02 11 views
0

Я запускаю консольное приложение в Visual Studio 2017 RC. При выполнении кода ниже я получаю исключение .Открытие 32-битного изображения с плавающей точкой вызывает OutOfMemoryException

Изображение, которое пытается загрузить, представляет собой 32-битное плавающее изображение.
Загрузка 16-битного изображения с плавающей точкой работает нормально.

Я попытался установить Plattform типа для x64 в Configuration Manager.

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).

Добавить ПрезентацияОформить ссылка и 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]; 

 Смежные вопросы

  • Нет связанных вопросов^_^