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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| import java.awt.Graphics;
import java.awt.image.*;
import java.awt.*;
import javax.swing.*;
import javax.imageio.*;
import java.io.*;
public class PanneauImage extends JPanel {
private BufferedImage imageCompo;
private Image img;
public String file;
public PanneauImage(String file) {
this.file = file;
img = new ImageIcon(getClass().getResource(file)).getImage();
repaint();
}
public String getImage() {
return file;
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (img == null) return;
g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
BufferedImage imageCompo = new BufferedImage(getWidth(),getHeight(),BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = (Graphics2D) imageCompo.getGraphics(); //J'AI DU FAIRE UN CAST
super.paintComponent(g2);
try{
ImageIO.write(imageCompo, "jpg", new File("BufImagCompo.jpg"));
}catch(Exception ex) {ex.printStackTrace();}
g2.dispose();
}
public void saveImageCompo() {
BufferedImage imageCompo = new BufferedImage(getWidth(),getHeight(),BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = (Graphics2D) imageCompo.getGraphics();
super.paintComponent(g2);
try{
ImageIO.write(imageCompo, "jpg", new File("BufImagCompo.jpg"));
}catch(Exception ex) {ex.printStackTrace();}
g2.dispose();
}
/************************************************************************/
public static void main(String[] args) {
JFrame maFrame =new JFrame("Fenetre de test");
PanneauImage pi = new PanneauImage("24.jpg");
maFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
maFrame.setContentPane(pi);
maFrame.setBounds(200, 200, 400, 400);
maFrame.setVisible(true);
//pi.saveImageCompo();
}
} |
Partager