能够创建的最大的Bitmap是多少

wzg3k 2010-09-26 01:50:50
int a = 2000;
Bitmap c = new Bitmap(a,a)


以上代码中,如果a值比较大的时候,出现异常"Invalid parameter",说明系统能够创建的最大位图是有一个上限的。而且这个上限和硬件系统相关,硬件系统越大,上限越大。

现在,我想生成一个很大的JPG图片,比如40000*8000,准备创建一个40000*8000的位图,描画完成后,保存为JPG文件。但是,在一些低性能计算机上,无法创建这么大的位图,我应该如何处理?

还有一个办法,就是创建1000个小位图,描画完成后,再保存为1000个JPG文件,最后把这1000个文件合并成一个大的JPG?可是,谁有文件合并的算法阿?
...全文
926 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿浩No_1 2012-06-19
  • 打赏
  • 举报
回复
我也遇到这个问题了。很奇怪。
我打算创建的bitmap是 38000x48000 的,直接就报一个无效参数
hzeqiang100 2010-09-28
  • 打赏
  • 举报
回复
C#开发群84010140
jointan 2010-09-27
  • 打赏
  • 举报
回复
应该是有规定大小的,和内存大小无关,具体多少忘了,以前看过一个公告,Windows存在一个漏洞(忘了是哪个组件的漏洞了),有通过编写一个大于规定大小的图片,由于该组件没有对传入的图片数据的数组进行边界检查,导致在超过规定大小的区域写入的恶意代码被复制到可执行的内存段中,实现入侵,后来这个漏洞被修复了,修复后边界检查的位置,就应该是图片的最大限制.
zshdy 2010-09-27
  • 打赏
  • 举报
回复
这个应该跟内存容量有关,找个两个机子分别试一下各自最大的大小,总结一下和内存的关系
chichenzhe 2010-09-27
  • 打赏
  • 举报
回复
Int最大值一般够了,设计者当初就是有个假设的.假设你永远也无法使用超过int的数据,所以他给你了
new Bitmap(int, int) 这样的类库. 实际上当初设计者也可以设计成 new Bitmap(long, long)但是设计者觉得这样没有意义,浪费内存. 并且设计者也没有涉及一个 BIGBitmap 的类库给你使用,那么证明他知道,如果在你确实有BT需要的时候 你可以自己去实现这个类库.
这个问题如果你觉得很有意义的话,你可以自己实现该类库,用long代替int.

但我要告诉你,其实很没有意义.这个问题不存在你在8楼所问的所谓的'正解'. 因为这不是个问题.

打个比方,你有个饭盒A,这个饭盒是为大多数人设计的,其空间可以满足适量大于等于 BIG级食量的人. 现在你的食量仅仅为 tittle级食量.但是你异想天开的想法想到:如果我的食量大于BIG级食量怎么办.
怎么能够利用饭盒A来解决我想象的问题,然后需要正解..........

明白了吗? 正解不存在,同时问题也很那个.
wzg3k 2010-09-26
  • 打赏
  • 举报
回复
感谢大家的回复,又没有正解啊?
camperer 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zxp8819 的回复:]
如果我要创建一张长和宽都比int.MAX_VALUE大的图,那怎么办?
[/Quote]
这个问题不存在吧?你要建一个等比例的世界地图吗??
太大的图片一般不会全部显示,存的时候也分成很多部分保存就是了。。。要看大图就生成个缩略图给他看
  • 打赏
  • 举报
回复
webconfig 该下.. 我就建往小了弄的, 往大了弄, 会失真的
铛铛 2010-09-26
  • 打赏
  • 举报
回复
如果我要创建一张长和宽都比int.MAX_VALUE大的图,那怎么办?
winner2050 2010-09-26
  • 打赏
  • 举报
回复
软件警告一下,计算机配置太低。

很多软件对于配置过低的安装的时候直接警告甚至不给安装。

低性能的机器怎么可能用来处理几万乘几千的分辨率呢?这种客户不至于那么穷。
chazikai24 2010-09-26
  • 打赏
  • 举报
回复
MSDN上没提到大小限制。
int倒是有大小限制
Integer.MAX_VALUE = 2^31 -1 = 2147483647
Integer.MIN_VALUE = - 2^31 = -2147483648
wzg3k 2010-09-26
  • 打赏
  • 举报
回复
help me please

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧