Invertendo uma Imagem

1 resposta
I

Bom dia!

Estou tentando encontrar algum jeito de espelhar uma imagem!
Alguem conhece alguma forma de realizar esse procedimento.
Estou tentando fazer isso utilizando a função copyArea, mas não estou conseguindo.

Desde ja agradeço.

1 Resposta

I

Galera, depois de muito pesquisar consegui criar um método que espelha uma imagem e retorna a mesma através de um BufferedImage.

Abaixo segue o código, pois na net não acha muita coisa não, e o que se acha é muito complicado.

Já coloquei um exemplo para rotacionar no seguinte link.:

http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&p=136168#136168

public BufferedImage espelhar(BufferedImage  img) throws NoninvertibleTransformException {
				
		int posicao = 1;
		int width = img.getWidth();  // largura
		
// imagem a ser espelhada
		Graphics g = img.getGraphics();
		Graphics2D g2 = (Graphics2D) g;
		
		// nova imagem criada para receber o espelho
		BufferedImage result	= new BufferedImage( img.getWidth()*2, img.getHeight(), BufferedImage.TYPE_INT_RGB );
		Graphics graphics			= result.createGraphics();
		Graphics2D graphics2D	= (Graphics2D)graphics;
		AffineTransform aT		= g2.getTransform();
		graphics2D.drawImage(img, aT, null);
		
		//transposição da imagem
		for (int x = 0; x < img.getWidth(); x++){
			graphics2D.copyArea(--width,0,1,img.getHeight(),posicao+=2,0);
		}
		//retornando somente a imagem que foi convertida
		return  result.getSubimage(img.getWidth()+2, 0 ,img.getWidth()-2, img.getHeight()-2);
	}
[/url]
Criado 26 de dezembro de 2006
Ultima resposta 26 de dez. de 2006
Respostas 1
Participantes 1