1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
System.out.println("ASKING TO PAINT");
Graphics2D g2d = (Graphics2D) g;
renderer.render(g2d, getSize());
g2d.setPaint(Color.RED);
g2d.fillRect(10, 10, 20, 20);
}
public void saveImage() {
int returnVal = fc.showOpenDialog(this);
if(returnVal != JFileChooser.APPROVE_OPTION) return ;
File f = fc.getSelectedFile();
int w = getWidth() ;
int h = getHeight();
BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = bi.createGraphics();
// g.clearRect(0, 0, w, h);
// g.setBackground(Color.WHITE);
// g.setPaint(Color.WHITE);
// g.fillRect(0, 0, w, h);
paint(g);
g.dispose();
// Get the file
try{
OutputStream out = new BufferedOutputStream(new FileOutputStream(f));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getJPEGEncodeParam();
param.setQuality(0.8f, true);
encoder.encode(bi);
out.close();
// ImageIO.write(bi, "jpeg", f);
}
catch (Exception e) {
Logger.getLogger(this.getClass().getCanonicalName()).log(Level.SEVERE, "Error", e);
JOptionPane.showMessageDialog(this, e.getMessage());
}
} |
Partager