Cortando e salvando uma parte de uma Imagem com Java

3 respostas
T

Pessoal estou tentando cortar uma imagem e salvar, mas as coordenadas não estão corretas.
Ela não esta cortando na área selecionada.

BufferedImage image = ImageIO.read(origemFile);  

				             int x1 = getX1();
				             int x2 = getX2();
				             int y1 = getY1();
				             int y2 = getY2();
				             
				             
				             int w  = image.getWidth();
				             int h  = image.getHeight();
							             
				             BufferedImage new_img = new BufferedImage(w, h, image.getType());  
				             Graphics2D g = new_img.createGraphics();
				             
				             g.drawImage(image, x1, y2, w, h,null);  
				             ImageIO.write(new_img, "JPG", new File("/home/pasta/img.jpg"));

3 Respostas

S

opa,

a princípio não enxerguei nenhum erro cara.
mas tipo… já tentou debugar o que os métodos getX1(), getX2(), etc… estao retornando???
ta me parecendo que esse o cálculo da área a ser cortada que esta com algum problema.

tbém nao esquece de por o g.dispose(); pra liberar os recursos se vc nao for mais usar ele.

[]s

T

Então eu não estou conseguindo entender como eu pego a área para ser cortada.

Pois eu estou conseguindo pegar os 4 pontos

Mais não estou sabendo como fazer isso, pois ele corta mais não corta certo ou seja em cima da área determinada.

Um exemplo, tenho uma imagem de 450 x 412.

ai pego os 4 pontos que eu quero cortar:

X1 = 254
X2 = 450  // Acredito ser o Width
Y1= 262
Y2= 412 // Acredito ser o Height

Como eu calculo o W e H, nesse mostrando que é aquela área a ser cortada.

S

se meus cálculos estiverem corretos, basicamente vc está fazendo isso:

sua imagem deve estar saindo em branco.

da uma olhada no javadoc da classe Graphics.
da uma olhada aqui tbém: http://www.krhs.net/computerscience/java/GCOORD.HTM

abraço.

Criado 16 de setembro de 2011
Ultima resposta 16 de set. de 2011
Respostas 3
Participantes 2