Как я могу изменить размер изображения и сохранить его соотношение сторон?
Это метод, который я использую:
private static BufferedImage resizeImage(BufferedImage originalImage,
int type) {
BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT,
type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
g.dispose();
return resizedImage;
}
Переменная type
:
BufferedImage original = ImageIO.read(new File(imagePath));
int type = original.getType() == 0 ? BufferedImage.TYPE_INT_ARGB
: original.getType();
Проблема в том, что некоторые изображения имеют правильный размер, но другие теряют соотношение сторон из-за IMG_WIDTH и IMG_HEIGHT.
Есть ли способ получить исходные размеры изображения и затем применить некоторую пропорцию изменения размера, чтобы сохранить пропорции изображения с измененным размером?