BMP 图像标题 - biXPelsPerMeter

Posted

技术标签:

【中文标题】BMP 图像标题 - biXPelsPerMeter【英文标题】:BMP image header - biXPelsPerMeter 【发布时间】:2013-07-09 14:13:23 【问题描述】:

我已经阅读了很多有关 BMP 文件格式结构的信息,但我仍然无法理解“biXPelsPermeter”和“biYPelsPermeter”字段的真正含义。我的意思是实际上,它是如何使用或如何使用的。有什么例子或经验吗?非常感谢

【问题讨论】:

【参考方案1】:

biXPelsPermeter 指定位图目标设备的水平打印分辨率,以每米像素为单位。

biYPelsPermeter 指定垂直打印分辨率。

这不是很重要。您可以将它们留在2835 它不会破坏图像。 (72 DPI × 39.3701 英寸每米产生 2834.6472)

【讨论】:

【参考方案2】:

这样想:BMP 结构中的图像位使用大量数据(描述图像的信息如此之多)定义图像的形状,但必须使用测量系统将这些信息转换为目标设备表明其在实际使用中的应用分辨率。

例如,如果 BMP 为 10,000 像素宽和 4,000 像素高,则说明图像位中存在多少原始细节。但是,该图像信息必须随后应用于某个目标。它使用与 dpi 及其目标的关系来推导出应用的分辨率。

如果它以 1000 dpi 打印,那么它只会为您提供 10" x 4" 的图像,但肉眼的细节非常高(每平方英寸更多像素)。相比之下,如果它仅以 100 dpi 打印,那么您将获得一个 100" x 40" 且细节低的图像(每平方英寸的像素更少),但它们的总位数相同。实际上,您只需将 dpi 更改为非标准值即可在不缩放任何内部图像数据的情况下缩放图像。

此外,使用 72 dpi 是对古代打印技术 (https://en.wikipedia.org/wiki/Twip) 的回归,这与向前发展并不真正相关(除了保持与标准的兼容性),因为现代硬件设备通常使用其他值来表示它们与图像的基本关系数据。例如,对于视频屏幕,Mac 使用 72 dpi 作为默认值。 Windows 使用 96 dpi。其他类似。从理论上讲,您可以将其设置为您想要的任何值,但请注意,并非所有软件都遵循内部设置,而是采用特定的大小。这可能会影响图像在应用内的缩放方式,即使其中的实际图像数据没有改变。

【讨论】:

以上是关于BMP 图像标题 - biXPelsPerMeter的主要内容,如果未能解决你的问题,请参考以下文章

使用 qdbmp 读取.bmp 图像

Bmp图像处理

生成 BMP 图像的预览

Intel Mac 中的 BMP 图像处理

生成 1 位深度的 BMP 图像

C 中的 .BMP 文件 - DIB 标头返回图像大小 0,即使 BMP 标头返回文件大小