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

Interfaces Graphiques en Java Discussion :

Remplir des formes graphiques avec des motifs (quadrillage, ligne verticale, etc)


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut Remplir des formes graphiques avec des motifs (quadrillage, ligne verticale, etc)
    Bonjour à tous,

    Existe-t-il une classe qui permet de choisir des motifs de remplissage, du même style que le JColorChooser ?
    Sinon comment remplir des formes (cercle, polygone...) avec un quadrillage, des lignes diagonales...

    Merci

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Passes par un TexturePaint pour faire un fill sur de formes (Classes héritant de l'interface shape comme Rectangle2D ou Ellipse2D ou encore GeneralPath).
    Ceci ne fonctionnera par contre qu'avec des Graphics2D.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    protected void paintComponent (Graphics g){
       Graphics2D g2d = (Graphics2D) g;
       g2d.setPaint(myTexturePaint);
       g2d.fill(monRectangle2d);
    }
    ++

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut Remplir des formes graphiques avec des motifs (quadrillage, ligne verticale, etc)
    Merci pour ton aide. Je vais modifier essayer ta solution.

    A+

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    Attention TexturePaint peut eventuellement etre une source de ralentissement ou de problemes de performances. Suivant ce que tu veux faire, il y a d'autres solutions plus ou moins performantes :

    - l'utilisation d'une forme en tant que zone de clip. Attention cette forme ne peut pas etre antialiasee.

    - l'utilisation d'une AlphaComposite.SRC_IN. Cette methode semble etre celle a privilegier (EDIT - pour un rendu offscreen dans une image intermediaire, pas pour un rendu direct a l'ecran).

    Combiner ces methodes avec un rendu manuel des motifs tandis que TexturePaint lui te demandera une image. Il est aussi possible d'utiliser la methode copyArea() de la classe Graphics pour accelerer le tout.
    Bref, a toi de voir lequel te convient le mieux, nottament suivant les formats de sortie de ton rendu (ex : export vers un format d'image vectoriel, SVG, ...).

    Non, de base il n'existe pas de classe permettant de selectionner ce genre de motifs, tu devras en trouver une ou la coder toi-meme.
    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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/11/2011, 10h14
  2. Modifier des formes Visio avec des données Excel
    Par Hubs702 dans le forum Visio
    Réponses: 4
    Dernier message: 25/06/2007, 07h19
  3. [Forms]boutons avec des icônes
    Par poula dans le forum Forms
    Réponses: 3
    Dernier message: 15/01/2007, 09h56
  4. Remplissage d'une forme gauche avec des rectangles
    Par Aiekick dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/03/2006, 19h00
  5. Remplir les cellules Excel avec des variables VB
    Par rupeni dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/11/2005, 09h31

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