Manipulando Imagem

3 respostas
U

Galera, seguinte, tenho um trecho de código que em determinado momento desenho uma imagem com zoom da seguitne forma:

g1.drawImage(buffer, rectImagem.x, rectImagem.y, rectImagem.width, rectImagem.height, null);

O retângulo rectImagem é quem me dá o x e y inicial da imagem original e o tamanho do zoom. A minha questão é: como desenhar a imagem da mesma forma, porém em um Raster de um BufferedImage?

BufferedImage imagemPrincipal;
...
Raster raster = imagemPrincipal.getData();//o Raster atualmente pega os pixels da imagemPrincipal, quero pegar só o zoom que me da o drwaImage, ou seja, quero desenhar no BufferedImage.

3 Respostas

U

Solução:

int x,y,h,w;		
x = 0;
y = 0;		
w = 1024;
h = 1024;
		
BufferedImage buffer = new BufferedImage(imagem.getAltura(),imagem.getLargura(),BufferedImage.TYPE_INT_RGB);			
Graphics g2d = buffer.createGraphics();
g2d.drawImage(imagem.getSnapshot(),x,y,w,h,null);

Crie um BufferedImage e um Graphics2D associado ao buffer. Dê um drawImage com a imagem selecionada no Graphics e tá pronto, pode manipular como quiser.

drigo.angelo

Oi,
Aproveitando o topico, você sabe de algum material sobre manipulação de imagens (tipo mudar cor, textura, etc) ?

[]'s

U

Aí depende do que você quer fazer, manipula a imagem de acordo com os algoritmos de filtros para cada caso específico, busca pelos algoritmos pra cada filtro e você vai achar muita coisa na internet mesmo.

Criado 31 de janeiro de 2011
Ultima resposta 7 de fev. de 2011
Respostas 3
Participantes 2