IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

remplir un polygone


Sujet :

2D Java

  1. #1
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut remplir un polygone
    Bonjour,

    Je pratique depuis peu le Java2D et je suis confronté à un problème de remplissage d'un polygone avec de la couleur !

    mon problème est que le polygone, pour l'exemple j'ai pris un rectangle traversé par une ligne (ci joint l'image poly_sans_fond), s'affiche correctement si je n'affecte pas de couleur de fond. En revanche, dès que j'ajoute la couleur ( ci joint l'image poly_avec_coul) le polygone est rempli et la couleur masque la ligne transversal !

    Quelqu'un saurait il comment remplir le polygone sans masqué les lignes qui le traverse ?

    Merci d'avance !
    Images attachées Images attachées   
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 56
    Par défaut
    Bonjour,

    si tu avais mis ton code d'affichage de ton polygone et de ta ligne, ça aurait été plus facile de te répondre

    regarde ton code, je pense que pour résoudre ton problème, il faudrait afficher ou peindre ton polygone et "ensuite" tracer ta ligne.

    C'est juste un problème d'ordre d'affichage !

    DMF

  3. #3
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    merci de ta réponse !

    le traitement est générique, je donne un exemple de code pour le traçage du polygone, mais il faut comprendre que je ne sais pas que je traite un polygone, on ma donné les points de celui ci, je le trace et plus tard je remplis une forme.
    je ne peu donc pas extraire la ligne transversal et la tracer après.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Shape curShape = new Polygon2D(xPoints, yPoints, xPoints.length);
    ....
    Rectangle rec = curShape.getBounds();
    int xdeb = rec.x;
    int ydeb = rec.y + rec.height / 2;
    Paint curPaint = new GradientPaint(xdeb, ydeb, new Color(backgroundColor), xdeb + rec.width, ydeb, new Color(backgroundColor2));
    g.setPaint(curPaint);
    g.fill(curShape);
    Ma question est donc bien, y a t'il un moyen de dire de remplir la forme sans recouvrir les lignes qui s'y trouve ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 56
    Par défaut
    Bonjour Alkhan,

    ok, ce que je pense être le plus simple est de remplir ton shape et ensuite le tracer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Shape curShape = new Polygon2D(xPoints, yPoints, xPoints.length);
    ....
    Rectangle rec = curShape.getBounds();
    int xdeb = rec.x;
    int ydeb = rec.y + rec.height / 2;
    Paint curPaint = new GradientPaint(xdeb, ydeb, new Color(backgroundColor), xdeb + rec.width, ydeb, new Color(backgroundColor2));
    g.setPaint(curPaint);
    g.fill(curShape);
    g.setColor(Color.red);
    g.draw(curShape);//
    pas testé.

    DMF

  5. #5
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    merci, en effet, je l'ai compris que après avoir envoyé mon dernier poste, que l'on était pas obligé de dessiner l'objet avant de le remplir.

    La réponse est bien celle la !
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. remplir polygone bitmap
    Par ojhoj dans le forum Windows Forms
    Réponses: 13
    Dernier message: 13/06/2011, 16h14
  2. Remplir une forme crée avec un polygon
    Par declencher dans le forum Débuter
    Réponses: 2
    Dernier message: 03/01/2009, 16h17
  3. remplir l'extérieur d'un polygon?
    Par tanguy.L dans le forum 2D
    Réponses: 3
    Dernier message: 17/11/2008, 08h35
  4. [Image]Remplir des polygones
    Par magic.goby dans le forum 2D
    Réponses: 8
    Dernier message: 22/04/2004, 16h56
  5. [TChart] comment remplir un histogramme avec du rouge strié.
    Par :GREG: dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/08/2002, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo