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

C# Discussion :

Problème de GraphicsPath() // incompréhensible


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Par défaut Problème de GraphicsPath() // incompréhensible
    SAlut,

    J'ai un soucis avec des Path pour une appli graphique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public virtual void  drawTable(Graphics g)
    		{
    			  //pathTable.StartFigure();
                        pathTable.AddRectangle(bordExtTable);
                        pathTable.AddEllipse(bordIntTable);
                  //  pathTable.CloseFigure();
                SolidBrush black = new SolidBrush(Color.Black);
                g.FillPath(black, pathTable);
                black.Dispose();
                pathTable.Dispose();
    		}
    que j'active ou pas le start/closeFigure() ne change rien,
    par contre le Dispose() fait bugger mon code, et je ne comprend pas pourquoi.

    en plus je n'ai pas vraiment besoin de ce Dispose, dans le sens ou le pathTable dessine toujours la même chose au même endroit,

    help

    merci vous

  2. #2
    Membre expérimenté Avatar de scifire
    Inscrit en
    Juillet 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 226
    Par défaut
    Salut.
    Je sais pas comment on utilise l'objet GraphicsPath mais pour moi le code suivant marche parfaitement.
    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
            private void button1_Click(object sender, EventArgs e)
            {
                using (Graphics g = this.CreateGraphics())
                {
                    using (GraphicsPath path = new GraphicsPath(FillMode.Alternate))
                    {
                        path.AddRectangle(new Rectangle(0, 0, 100, 100));
                        path.AddEllipse(new Rectangle(5, 5, 90, 90));
     
                        using (Brush b = new SolidBrush(Color.Green))
                        {
                            g.FillPath(b, path);
                        }
                    }
                }
            }
    Je n'ai qu'un simple fiche et un bouton et quand je clique sur le bouton j'obtiens un carre et un circle qui a creuse le carre.


    J'espere que cela va t'aider.

    Juste un conseille :
    Utilise toujours un 'using' (C# 2.0) pour tous les objets qui implemente l'interface IDisposable.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Par défaut
    Merci et beau logo

    Est ce que tu peux m en dire un peu plus sur ton code... pour les using j'ai un bouquin, mais pour les Events... comment envois tu un envents ?
    Coment ca se passe ?
    Une methode appelle celle que tu as affiché genre buttonClick1(a,b) ?

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Par défaut
    mon code c'est ça :

    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
    22
    23
    24
    25
     protected override void OnPaintBackground(PaintEventArgs pevent)
            {
                // Getting the graphics object
                Graphics g2 = pevent.Graphics;
                g2.Clear(Color.White);
                /*---fingers movments---*/
                WindowManager();
     
                /*---songs movements----*/
               // if (browsing)
                //{
                    resetSongsMode1();
                //} //Accord songs position according to Objects position
     
                /*---draw---------*/
                drawSong(g2); //1.Set & Draw the song spheres
                drawSquares(g2); //2.Draw the density squares
                WindowDrawer(g2);       
                drawObjects(g2);
                drawFinger(g2);
                drawTable(g2); //6. Cut table from borders to pathOutside & write infos
     
                g2.Dispose();
     
            }

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Par défaut
    question lourde mais bon...
    IDisposable
    C'est quoi le rapport avec Drawing ?

Discussions similaires

  1. [Magento] problème de lenteur incompréhensible
    Par elvan49 dans le forum E-Commerce
    Réponses: 3
    Dernier message: 08/06/2009, 16h42
  2. Problème de wifi incompréhensible
    Par zenux dans le forum Windows XP
    Réponses: 4
    Dernier message: 15/09/2008, 16h42
  3. [AJAX] AJAX ASYNCHRONE incompréhensible
    Par doubi_dim dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/03/2008, 11h44
  4. Problème d'affichage incompréhensible
    Par Bardack dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 25/02/2007, 21h09
  5. [Wamp] Problème de session incompréhensible
    Par Mikiman dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 03/09/2006, 12h19

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