Como alterar resolução de imagem sem perder qualidade

2 respostas
B

Opa,

Existe um formulário onde o usuário realiza o upload de uma imagem.
Após realizar esse upload, preciso criar duas imagens com as seguintes resoluções: 240x450 e 70x133.

A primeira imagem, de resolução 240x450 é criada com sucesso.
A segunda, de resolução 70x133, é criada porém “pixelada”, sem qualidade.

Existe alguma forma de redimensionar imagem mantendo a qualidade, pixels, DPI e por ai vai… de acordo com a resolução?

Segue código que utilizei para redimensionar:

private static BufferedImage redimensionarImagem(BufferedImage imagem, int largura, int altura) {  
		if (imagem == null)
	    	  return null;
	    			  
		BufferedImage novaImagem = new BufferedImage(largura, altura, imagem.getType());    
		Graphics2D g2d = novaImagem.createGraphics();  
		
		g2d.drawImage(imagem, 0, 0, largura, altura, null);
		g2d.dispose(); 
	         
		return novaImagem;
	}

Desde já, agradeço a força!

2 Respostas

C

Pode ser que ajude…

http://javaaberto.blogspot.com.br/2012/05/redimensionar-imagem.html

W

Ola amigo,

Esse é um grande problema quando se trabalha com imagens de formatos comuns o sistema perde quando precisamos redimensionar imagens. Como os pixels não são redimensionáveis, perdemos pixels ao reduzirmos o tamanho da imagem. De modo oposto, ao ampliarmos uma imagem, são acrescentados pixels (o programa INVENTA os pixels que são acrescentados). Por isso, por mais sofisticada que seja a interpolação de pixels, imagens com tamanho alterado não apresentam qualidade muito boa, especialmente, quando ampliamos.

a solucao para o seu problema seria trabalhar com imagens vetoriais, pois elas sao reproduzidas de acordo com determinados parametros matematicos atribuidos a ela.

O que nao deve ser o seu caso, principalmente quando se quer fazer uma coisa simples…

Criado 14 de setembro de 2012
Ultima resposta 14 de set. de 2012
Respostas 2
Participantes 3