Bonjour, je voudrai remplir une forme ( un polygone en l'occurence) avec une image jpeg. J'arrive très bien a dessiner le polygone sans l'image et à récupérer l'image. En revanche je n'ai pas très bien compris comment remplir le polygone avec l'image.
Il me semble qu'il faut passer par la méthode setPaint de Graphics2D mais il ne prends en paramètre que des "BufferedImage" et non des "Image". Or je ne sais pas comment convertir un Image en BufferedImage. J'ai essayé en castant l'Image mais ça génère des exceptions ...
Je vous montre le morceau de code qui m'embête :
Voilà bha si quelqu'un peut m'aider, c'est pas de refus... Et aussi si quelqu'un peut m'expliquer ce qu'est un "BufferedImage" exactement ?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Image image = toolkit.getImage(new String("./image.jpg")); // ça, ça marche // vu que j'arrive a afficher l'image toute seule BufferedImage bi = new BufferedImage(480,320,BufferedImage.TYPE_INT_RGB ); // Bon là // je sais que ça va pas mais je sais pas comment construire le // bufferedImage à partir de l'image... // Ensuite, bhaaa, ça va tout seul... Shape imageRect = new Rectangle2D.Double(0.0, 0.0, bi.getWidth(), bi.getHeight()); TexturePaint imagePaint1 = new TexturePaint(bi, imageRect.getBounds2D()); g.setPaint(imagePaint1); g.fillPolygon(tabx,taby,6);
Partager