【发布时间】:2013-07-11 02:11:41
【问题描述】:
我一直在互联网上寻找一些解决方案,但我仍然没有找到我的问题的答案。
我一直在工作或做一个程序,该程序将从我的 PC 中获取图像文件,然后使用 Java Graphics 进行编辑以添加一些文本/对象/等。之后Java ImageIO会保存新修改的图片。
到目前为止,我做得很好,但我遇到了图像大小的问题。原始图像和修改后的图像大小不同。
原版是2x3inches-image,而修改后的应该有 2x3inches 的图片很遗憾得到了8x14inches。所以,它比原来的更大了。
什么解决方案/代码可以让我输出 2x3inches-image 仍然具有“良好的质量”?
更新:
所以,这是我使用的代码。
public Picture(String filename) {
try {
File file = new File("originalpic.jpg");
image = ImageIO.read(file);
width = image.getWidth();
}
catch (IOException e) {
throw new RuntimeException("Could not open file: " + filename);
}
}
private void write(int id) {
try {
ImageIO.write(image, "jpg", new File("newpic.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
}
第二次更新:
我现在知道新图片有什么问题了。当我从 Photoshop 中检查时,与原始图像相比,它具有不同的图像分辨率。原始图像的分辨率为 300 像素/英寸,而新图像的分辨率为 72 像素/英寸。
如何使用 Java 更改分辨率?
【问题讨论】:
标签: java graphics awt graphics2d javax.imageio