如何在C#中创建256万像素的图像?

2 c# image bitmap

我正在制作成像应用程序.我需要一个16000 x 16000像素的图像.这并非不可能,因为在PhotoShop中我可以创建此图像进行打印.(56 x 56英寸,300dpi)

我正在使用此代码:

Image WorkImage = new Bitmap(16000, 16000); 
Run Code Online (Sandbox Code Playgroud)

这会产生"Invalid Parameter"异常,但不会产生9000 x 9000像素.

MSDN没有说明构造函数中的限制.

我知道位图对象中的数据在内存中,因为如果数组太大,它可能会抛出"Out Of Memory"异常,但事实并非如此.我宁愿在文件中管理这些数据,但我不知道如何.

谢谢.

Cha*_*lts 6

Photoshop不会像您尝试的那样在连续的内存部分中分配巨大的图像.我在创建非常大的图像时遇到了一些内存限制.

考虑细分图像.这有利于更好的内存管理.如果编辑其中一个细分图像,则无需更新整个图像.


另外,每像素4字节的16000 x 16000大约是1 GB!那太大了.祝好运!