Aqui vou mostrar como é simples redimensionar uma imagem em java. (Valeu Sami)
Veja o código abaixo:
import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class RedimensionarImagem { public static void main(String[] args) throws IOException { BufferedImage imagem = ImageIO.read(RedimensionarImagem.class.getResourceAsStream("background.jpg")); int new_w = 512, new_h = 384; BufferedImage new_img = new BufferedImage(new_w, new_h, BufferedImage.TYPE_INT_RGB); Graphics2D g = new_img.createGraphics(); g.drawImage(imagem, 0, 0, new_w, new_h, null); ImageIO.write(new_img, "JPG", new File("back.jpg")); } }
Vamos ver o que acontece.
- Na linha 11 carregamos a imagem em um BufferedImage.
- Na linha 12 eu indico a largura e a altura da minha nova imagem.
- Na linha 14 estou criando uma nova instância de BufferedImage que será minha nova imagem. No construtor eu indico a largura e a altura da minha nova imagem, bem como o tipo da imagem, no meu caso usei TYPE_INT_RGB que é uma imagem sem alpha, ou seja, opaca, sem transparência.
- Na linha 15 eu crio uma instância de Graphics2D, é ele que me permite fazer o redimensionamento.
- Na linha 16 é onde realmente é criado minha nova imagem redimensionada.
Depois de muito procurar sobre como redimensionar uma imagem, não encontrei nenhuma forma simples e eficiente como esta e graças ao meu amigo Sami Koivu, que me deu esta dica. São exatamente 6 linhas para eu carregar a imagem, redimensionar e criar o novo arquivo. 😉