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.
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