public class ConstructionImage extends JPanel{ private static final long serialVersionUID = 1L; /** les coordonnées des points */ private ArrayList pX = new ArrayList(); private ArrayList pY = new ArrayList(); /** le polygone */ Polygon polygone; public ConstructionImage(){ addMouseListener(new MouseListener() { /** * action qui se déclenche quand on relache la souris */ public void mouseReleased(MouseEvent arg0) { for(int k=0; k<pX.size(); k++){ polygone.addPoint(pX.get(k), pY.get(k)); } pX.clear(); pY.clear(); } public void mousePressed(MouseEvent a) { polygone = new Polygone(); } public void mouseExited(MouseEvent arg0) { } public void mouseEntered(MouseEvent arg0) { } public void mouseClicked(MouseEvent arg0) { } }); addMouseMotionListener(new MouseMotionListener() { public void mouseMoved(MouseEvent arg0) { } public void mouseDragged(MouseEvent a) { pX.add(a.getX()); pY.add(a.getY()); repaint(); } }); } /** * Surcharge de paintComponent */ public void paintComponent(Graphics g) { g.drawPolygon(polygone); } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question/** Tableau de toutes les couleurs de ton image */ private Color[][] image; BufferedImage b = ImageIO.read(new File(adresse)); h = b.getHeight(); w = b.getWidth(); image = new Color[w][h]; for(int wi=0; wi<w; wi++){ for(int hi=0; hi<h; hi++){ Color pixel = new Color(b.getRGB(wi, hi)); image[wi][hi] = pixel; } }
protected void paintComponent(Graphics g){ for(int wi=0; wi<w; wi++){ for(int hi=0; hi<h; hi++){ g.setColor(image[wi][hi]); g.fillRect(wi, hi, 1, 1); } } }