Posts com Tag ‘imageio’

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. 😉