在Java中更改BMP图像的DPI
我需要用java更改一个映像,因此我使用在Java中更改BMP图像的DPI,java,dpi,bmp,Java,Dpi,Bmp,我需要用java更改一个映像,因此我使用buffereImage来实现这一点。更改图像后,我需要以600 DPI的BMP格式保存它;但是,buffereImage默认DPI为72 我尝试直接在图像上设置DPI,但没有任何改变。 我引用以更改BMP格式的DPI数据 这是我用来更改DPI值的代码 public static void main(String[] args) throws Exception { File output = new File("/Users/alex/Deskt
buffereImage
来实现这一点。更改图像后,我需要以600 DPI的BMP格式保存它;但是,buffereImage
默认DPI为72
我尝试直接在图像上设置DPI,但没有任何改变。
我引用以更改BMP格式的DPI数据
这是我用来更改DPI值的代码
public static void main(String[] args) throws Exception {
File output = new File("/Users/alex/Desktop/out.bmp");
try (RandomAccessFile f = new RandomAccessFile(output, "rw")) {
f.seek(38);
f.write(1);
f.seek(42);
f.write(1);
}
}
BMP代表位图,表示每个像素值都存储在网格中。该网格只是简单地读入,没有任何特殊的解压缩或插值 BMP图像不会根据图像元数据中指示的DPI值进行更改,但如果该值准确,则效果更佳。相反,DPI是为了帮助任何人查看图像,了解DPI是什么。在图像中更改此选项是徒劳的,因为它实际上不会更改图像的分辨率 分辨率取决于图像的大小(图像中的像素数) 这是一篇关于位图的好文章。您是否签出了这个问题?