Prezados,
Eu preciso gerar um arquivo jpeg de um desenho simples que esta num objeto
do tipo Graphics2d, mas nao to consiguindo.
Alguem pode me dar uma ajuda?
Obrigado,
Emilio
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
Dimension d = getSize();
g2.setBackground(getBackground());
g2.clearRect(0, 0, d.width, d.height);
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
int w = d.width;
int h = d.height;
// draw 2D lines in green and yellow
g2.setPaint( Color.RED );
g2.draw( new Line2D.Double( 395, 30, 320, 150 ) );
BufferedImage bi = (BufferedImage) createImage(w, h);
Graphics2D big = bi.createGraphics();
g2.setPaint( Color.RED );
/*Tenho que gerar a figura disto : */
g2.draw( new Line2D.Double( 200, 30, 320, 150 ) );
g2.drawImage(bi, 0, 0, null);
try {
File file = new File("test.jpg");
FileOutputStream out = new FileOutputStream(file);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
//
param.setQuality(1.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(bi);
ImageIO.write(bi, "jpeg", out);
out.close();
} catch (Exception ex) {
g2.setColor(Color.red);
g2.drawString("write permissions on images/test.jpg?", 5, h*2-5);
ex.printStackTrace();
}
g2.dispose();
}