Reputation: 13
I would like scale image. I am trying use getScaledInstance() method by doesn't work for me. Image which I write is the same size as the funniest...
It is my code:
Image image = ImageIO.read(file.getInputStream());
image.getScaledInstance(100, -1, Image.SCALE_SMOOTH);
BufferedImage bImage = (BufferedImage) image;
ImageIO.write(bImage, "jpg", new File(urlImage));
Upvotes: 1
Views: 391
Reputation: 8405
Image.getScaledInstance()
returns an instance of the same image, scaled to the desired size without modifying your existing image. Assuming you are trying to save the scaled instance to file, you merely need to move the call to the line below.
E.g:
Image image = ImageIO.read(file.getInputStream());
BufferedImage bImage = (BufferedImage) image.getScaledInstance(100, -1, Image.SCALE_SMOOTH);
ImageIO.write(bImage, "jpg", new File(urlImage));
Upvotes: 1