Qualidade da imagem de um JPanel

1 resposta
Malister

Ola estou criando um buffer de imagem de um JPanel para passar para o iReport (tudo esta funcionando corretamente)

segue codigo

BufferedImage bufferedImage = new BufferedImage(595, 842, BufferedImage.TYPE_INT_RGB);

			panel.printAll(bufferedImage.getGraphics());

			ImageIO.write(bufferedImage, "jpg", byteArrayOutputStream);

Gostaria de saber como devo proceder para que a imagem tenha uma qualidade maior.

Vlw.

1 Resposta

Malister

Consegui chegar a este código:

Iterator<?> iter = ImageIO.getImageWritersByFormatName("jpeg");
		
		ImageWriter writer = (ImageWriter)iter.next();
		
		ImageWriteParam iwp = writer.getDefaultWriteParam();
		iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
		iwp.setCompressionQuality(1);
		
		try {
			
			File file = new File("Com Filtro.jpg");
			FileImageOutputStream output = new FileImageOutputStream(file);
			writer.setOutput(output);
			IIOImage image = new IIOImage(imagem, null, null);
			writer.write(null, image, iwp);
			writer.dispose();
			
		} catch (Exception e) {
			e.printStackTrace();
		}

O mesmo grava um arquivo JPG no disco, gostaria de saber como devo proceder para que ele continue em BufferedImage.

Vlw

Criado 26 de outubro de 2012
Ultima resposta 29 de out. de 2012
Respostas 1
Participantes 1