java - 如何重新设置 BMP 文件的分辨率 (DPI) 指示器?

标签 java image graphics resolution bmp

我有一个 BMP 标记为 299 DPI 分辨率。我想将其更改为 99 DPI。

重要的是,BMP 中的 DPI 标记没有结构意义。图像具有特定的宽度和高度,以像素 为单位。显示应用程序可以显示任何宽度(以英寸为单位)的图像。

因此,DPI 只是一个提示。

但是,我正在处理一些第三方软件,这些软件的行为取决于这个标记,所以我需要重新设置它。

对于如何在 Java 以及 GUI 图形工具(例如 Gimp)中以编程方式执行此操作的建议,我将不胜感激。

最佳答案

对于 Java 部分,您可以使用 img4j图书馆。 您有 BMP 的编码器和解码器。 InfoHeader类有一个 iXpixelsPerM 和 iYpixelsPerM 来设置分辨率。你陈检查BMP文件格式here了解更多信息。

此外,由于该库是开源的,您将能够检查和了解代码的工作方式,并且能够对其进行调整以满足您的需求(如果它符合您的许可模式)。

(新年快乐!:)

关于java - 如何重新设置 BMP 文件的分辨率 (DPI) 指示器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4574715/

相关文章:

带有 Boss-Worker 的 Java 线程

java - 从 Java 中的视频/视频文件中提取/提取图像/图像序列的最佳方法

iphone - 调整大小后提高图像质量

image - 从 imread 返回的 ndims

java - 如何使用图形类在 Java 中绘制复杂对象?

opengl - 如何对点云的边界进行分割?

ios - 将 RGBA 数组转换为 UIImage 时出现错误结果

java - 关系存储和多维数据集检查/反射

java - 我如何转义冒号( :) in a mysql query over jdbc that contains a variable assignment?

java - 将字符串转换为java代码