我在Visual Studio 2017 RC中运行控制台应用程序。执行下面的代码时,我得到System.OutOfMemoryException: 'Out of memory.'
例外。
我试图加载的图像是一个32位的浮动图像 加载16位浮点图像可以正常工作。
我已尝试在 Configuration Manager 中将 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 :(得分:1)
尝试使用LibTiff.NET处理TIFF图像。
答案 1 :(得分: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];