Last active
December 24, 2022 04:05
-
-
Save werbth/4b1cf7567657cd64c71eb08099544f35 to your computer and use it in GitHub Desktop.
Given a jpeg image as InputStream, resize it and return another InputStream.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// formatName: the image format name (jpeg, png) | |
public static InputStream resizeImage(InputStream inputStream, int width, int height, String formatName) throws IOException { | |
BufferedImage sourceImage = ImageIO.read(inputStream); | |
Image thumbnail = sourceImage.getScaledInstance(width, height, Image.SCALE_SMOOTH); | |
BufferedImage bufferedThumbnail = new BufferedImage(thumbnail.getWidth(null), | |
thumbnail.getHeight(null), | |
BufferedImage.TYPE_INT_RGB); | |
bufferedThumbnail.getGraphics().drawImage(thumbnail, 0, 0, null); | |
ByteArrayOutputStream baos = new ByteArrayOutputStream(); | |
ImageIO.write(bufferedThumbnail, formatName, baos); | |
return new ByteArrayInputStream(baos.toByteArray()); | |
} |
Does this only work for JPEG
or any kind of image?
It works for other formats as well. For instance, I have tested with png
. I have updated the gist.
Muito Obrigado.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
thank's