Est il possible de dessiner un polygone hachuré comme on peut le faire avec le gdi windows en utilisant des brosses prédéfinies ?
Je travaille avecle jdk 1.3, le 1.4 serait il + adapté ?
Est il possible de dessiner un polygone hachuré comme on peut le faire avec le gdi windows en utilisant des brosses prédéfinies ?
Je travaille avecle jdk 1.3, le 1.4 serait il + adapté ?
Merci,
j'avais déja vu cette possibilité, mais cela implique d'avoir une image de reférence pour pouvoir remplir le polygone.
De toute façon il me semble que Java2 n'implémente pas des textures prédéfinie telles que des diagonales, quadrillage et trames horizontales.
Ce serait une amélioration.
Si qlq'un d'autre a une idée ....
En fait d'image de référence, tu peut créer la tienne dynamiquement.
ensuite tu peut dessine ce que tu veux, tout d'abord recupérer un Graphics2D
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 BufferedImage texture=new BufferedImage(largeur,hauteur,BufferedImage.TYPE_INT_ARGB);
Puis avec les méthodes de graphics 2D comme drawLine, drawRect, fillRect, et bien d'autres, tu dois pouvoir dessiner de que tu veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Graphics2D g2d=texture.createGraphics();
JHelp
Pour avoir une réponse efficace :
1) Soyez précis dans vos questions
2) Choisssez bien votre forum
3) Consultez la FAQ et la doc avant
OK, mais je ne suis pas super calé dans ce domaine pourrais tu entr(er un peu + dans les détails ou alors donnée un petit exemple
Merci beaucoup
Bon alors procedons proprement. Tout d'abord créons une classe Texture.
Ennsuite pour une texture hachurée :
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
16
17
18
19
20 import java.awt.image.*; import java.awt.*; import java.awt.geom.*; public Texture extends BufferedImage { private TexturePaint texture; public Texture(int largeur,int hauteur) { super(largeur,hauteur,TYPE_INT_ARGB); texture=new TexturePaint(this,new Rectangle2D.Double(0.0,0.0,largeur,hauteur)); } public void aplliquer(Graphics2D g2d) { g2d.setPaint(texture); } }
Pour appliqué une texture sur une forme : (g est ton Graphics recupéré par ton paint, ou paintComponent, ou paintIcon ,ou ,...)
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
16
17
18
19
20
21 import java.awt.image.*; import java.awt.*; import java.awt.geom.*; public TextureHauchuree extends Texture { private TexturePaint texture; public Texture(int largeur,int hauteur,int ecart,int biais,Color couleur,int epaisseur) { super(largeur,hauteur); //Dessin des hachures Graphics2D g=createGraphics(); g.setColor(couleur); for(int i=0;i<largeur;i += ecart) for(int j=0;j<epais;j++) g.drawline(i+j,0,i+j+biais,hauteur); } }
J'espère avoir été plus clair. Regarde dans ta doc, tu trouveras toute les méthodes de Graphics2D.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Graphics2D g2d=(Graphics2D)g; texture.appliquer(g2d); g2d.fillPolygon(polygone);
JHelp
Pour avoir une réponse efficace :
1) Soyez précis dans vos questions
2) Choisssez bien votre forum
3) Consultez la FAQ et la doc avant
Super, et encore merci
Bonjour, je retombe sur ce vieux topic ....:-)
Question supplémentaire : et si je veux voir a travers les hachures les polygones qui sont en dessous, comment dois-je m'y prendre ?
L'image a utiliser pour creer la texture doit etre initialement remplie avec la couleur transparente avant le dessin des hachures tout simplement.
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager