gpt4 book ai didi

c - 位图最大尺寸

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:32 24 4
gpt4 key购买 nike

我最近用 C 编写了一个程序,它以一个非常简单的 Spice 网表(txt 文件)作为输入,并根据网表绘制一个 BMP 文件(未压缩)。

绘制的每个组件的大小为 100x51 像素。所以输出的 BMP 文件将始终具有 51 像素的固定高度,但长度是可变的。

我的问题:如何找出 BMP 文件的最大长度?它似乎适用于超过 32kx51 的尺寸,在 70kx51 左右停止正常工作。

这是 BMP 信息头:

typedef struct
{
uint32_t bi_Size_;
int32_t bi_Width_;
int32_t bi_Height_;
uint16_t bi_Planes_;
uint16_t bi_Bit_Count_;
uint32_t bi_Compression_;
uint32_t bi_Size_Image_;
int32_t bi_X_Pels_Per_Meter_;
int32_t bi_Y_Pels_Per_Meter_;
uint32_t bi_Clr_Used_;
uint32_t bi_Clr_Important_;
}__attribute__((__packed__)) BitMapInfoHeader;

最佳答案

取决于实际的 BMP 格式,在“经典”BMP 中,宽度和高度存储在 16 位字段中,因此您不能拥有大于 65535x65535 像素的图像。这后来扩展到 32 位值,但是根据您用来生成 BMP 的库,它可能只支持“经典​​”格式,或者您可能必须明确要求创建更新的 BMP 变体 ...

另见例如:

http://en.wikipedia.org/wiki/BMP_file_format

关于c - 位图最大尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27440931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com