quinta-feira, 3 de março de 2011

Dicas de Programação: Como redimensionar uma imagem em Java?

Dicas e mais dicas... Agora é a vez de Java. (outra vez) :)

Para redimensionar uma imagem utilizando a API default do Java, podemos usar as classes File, BufferedImage e a ImageIO dos pacotes java.io, java.awt.image e javax.imageio.
Vamos ao passo a passo:

1) Primeiro, vamos ler a imagem original:

BufferedImage originalImage = ImageIO.read(new File("teste.jpg"));

2) Depois, vamos criar a imagem redimensionada que terá 100px de altura e 100px de largura:

//Largura
int width = 100;
//Altura
int height = 100;
BufferedImage resizedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

3) Agora, pegamos a imagem original e redesenhamos na imagem redimensionada:

resizedImage.getGraphics().drawImage(originalImage, 0, 0, width, height, null);

4) E finalmente, salvamos a imagem em um arquivo:

ImageIO.write(resizedImage, "jpg", new File("teste_redimensionado.jpg"));

Pronto, isso deve redimensionar a imagem para o tamanho 100x100! :)
Abaixo o código-fonte completo:

import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

public class ImageUtil {

public static void main(String[] args) throws Exception {
BufferedImage originalImage = ImageIO.read(new File("teste.jpg"));
int width = 100;
int height = 100;
BufferedImage resizedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
resizedImage.getGraphics().drawImage(originalImage, 0, 0, width, height, null);
ImageIO.write(resizedImage, "jpg", new File("teste_redimensionado.jpg"));
}

}

3 comentários:

Anônimo disse...
Este comentário foi removido pelo autor.
Anônimo disse...

Obrigado Cara foi muito útil para mim!

dannybastos disse...

Thank's .. that helps a lot!