位图文件的最大尺寸?

时间:2018-05-16 13:27:31

标签: c# vb.net bitmap

我很想知道彼此独立的最大位图宽度和高度是多少。我确实发现最大尺寸是32768x32768,但这只是引用一个完美的正方形? 32768x32768 = 1,073,741,824我可以使用的像素总数,只要总数不超过,我就可以在宽度和高度之间重新排列这些像素吗?

如果我这样做,我不会收到任何错误:

将theBitmap调暗为Bitmap = New Bitmap(450,100000)

即使我在保存之后无法打开图像(我不需要这样做),我仍然可以使用位图但是我相信有些东西不太正确......最终结果不会产生预期的结果......

我所做的目的无关紧要。我所关心的只是我在第一段中提到的问题的答案。如果答案是我的高度限制为32768,那么我将相应地更改我的代码。谢谢!

3 个答案:

答案 0 :(得分:0)

PNG和JPEG没有明确的文件大小限制,而BMP的限制为32K×32K像素,我认为这是你的问题(有些地方说它也可以容纳2Gx2G,但我不能找到与这些说法相关的任何内容。)

答案 1 :(得分:0)

我能够找到我最初问题的答案。只要总尺寸保持在最大尺寸规格范围内,您就可以使用任何宽度和高度。您可能会遇到问题保存尴尬的维度(1到1,000,000),但如果您只需要操作位图,您确实可以使用这些方案。

为在评论部分做出贡献的每个人欢呼!

答案 2 :(得分:0)

.bmps的大小受uint32_t的最大大小4GB的限制。

只要.bmp保持在4GB以下,任何尺寸都是可以接受的。

但是,并非所有位图都是一样的。单色位图每个像素仅需要1位,并且还使用稍微小的颜色托盘(总共8个字节),因此可以具有16色位图所需的总像素数的4倍多(每个像素使用4位,而64位字节数)。 这没有考虑压缩,因为bmp允许对所有非单色bmp进行压缩。