Redimensionamento de imagem Java, manter a proporção
Eu tenho uma imagem que eu resizei:
<code>if((width != null) || (height != null)) { try{ // scale image on disk BufferedImage originalImage = ImageIO.read(file); int type = originalImage.getType() == 0? BufferedImage.TYPE_INT_ARGB : originalImage.getType(); BufferedImage resizeImageJpg = resizeImage(originalImage, type, 200, 200); ImageIO.write(resizeImageJpg, "jpg", file); } catch(IOException e) { System.out.println(e.getMessage()); } } </code>
É assim que eu redimensiono a imagem:
<code>private static BufferedImage resizeImage(BufferedImage originalImage, int type, Integer img_width, Integer img_height) { 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; } </code>
Agora o problema é que eu também preciso manter a proporção. Ou seja, preciso da nova imagem 200/200 para conter a nova imagem dimensionada. Algo assim:
Eu tentei algumas coisas, mas elas não funcionaram como esperado. Qualquer ajuda é apreciada. Muito obrigado.