ImageIO сохраняет обратно в исходный размер
Я искал некоторые решения из Интернета, но до сих пор не нашел ответа на свою проблему.
Я работал или делаю программу, которая получит файл изображения с моего компьютера, а затем отредактирует с помощьюJava Graphics
добавить текст / объект / и т. д. После того,Java ImageIO
сохранит вновь измененное изображение.
До сих пор мне удавалось делать это красиво, но у меня возникла проблема с размером изображения. Исходное изображение и измененное изображение не имели одинакового размера.
Оригинал2x3
Изображение дюйма, в то время как модифицированный, который предположительно имеет 2x3 дюйма, слишком печально получил8x14
дюймов. Итак, он стал БОЛЬШЕ, чем оригинал.
Что такое решение / код, который дал бы мне вывод 2x3inches-изображения, которое все еще будет иметь «хорошее качество»?
ОБНОВИТЬ:
Итак, вот код, который я использовал.
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?