我正在制作成像应用程序.我需要一个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"异常,但事实并非如此.我宁愿在文件中管理这些数据,但我不知道如何.
谢谢.
Photoshop不会像您尝试的那样在连续的内存部分中分配巨大的图像.我在创建非常大的图像时遇到了一些内存限制.
考虑细分图像.这有利于更好的内存管理.如果编辑其中一个细分图像,则无需更新整个图像.
另外,每像素4字节的16000 x 16000大约是1 GB!那太大了.祝好运!
| 归档时间: |
|
| 查看次数: |
764 次 |
| 最近记录: |