我一直在尋找一些來自互聯網的解決方案,但我仍然沒有找到我的問題的答案。ImageIO保存回原來的尺寸
我一直在工作或做一個程序,將從我的電腦獲取圖像文件,然後將使用Java Graphics
編輯添加一些文本/對象/等。之後,Java ImageIO
將保存新修改的圖像。
到目前爲止,我能夠很好地做到這一點,但我得到了一個關於圖像大小的問題。原始圖像和修改後的圖像的大小不一樣。
原始爲2x3
英寸圖像,而修改後的圖像應該具有2x3英寸,太難以承受8x14
英寸。所以,它比原來的更大了。
什麼是解決方案/代碼,會給我一個2x3英寸圖像的輸出,它仍然會有一個「不錯的質量」?
UPDATE:
所以,這裏是我使用的代碼。
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();
}
}
月2日更新:
我現在知道什麼是新形象的問題。當我從Photoshop中檢查它時,它具有與原始圖像分辨率不同的圖像分辨率。原始尺寸爲300像素/英寸,而新圖像的分辨率爲72像素/英寸。
我將如何使用Java更改分辨率?
這個問題有點普遍,但我的猜測是你保存在一個不同的DPI設置格式。發佈一些代碼,我們可以嘗試幫助。 –
請發佈您的問題的[SSCCE](http://sscce.org/)。 – mattbdean
奇怪。 Graphics2D上的每個轉換都應該通過反轉來鏡像。 _我不知道,但這似乎是唯一的解釋._剪切需要? –