OutofMemoryException - 加载超大图像

Gen*_*ade 6 c# out-of-memory large-files

我正在尝试加载一个非常大的图像(14473x25684),但我遇到了内存限制.

这是一个演示问题的简单程序:

static void Main(string[] args)
{
    string largeimage = @"C:\Temp\test_image.jpg"; // 14473x25684

    Image i = Bitmap.FromFile(largeimage); // OutofMemoryException was unhandled
}
Run Code Online (Sandbox Code Playgroud)

现在我明白这个问题与我拥有多少物理内存无关,而是一个寻址限制.有什么办法可以解决这个限制吗?

图像确实有效,它在Photoshop(VM大小:916MB)和ACDSee中打开很好.此外,不要因为列出的尺寸不准确而对Google的尺寸感到烦恼.:)

感谢您的时间.

lep*_*pie 4

Bitmap 类需要大约 1.5GB 内存来保存该实例。.NET 内存分配器通常会限制在 1GB 左右。