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

Windows Forms Discussion :

Tracer 1 point à l'écran


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Profil pro
    Ingénieur de développement
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur de développement

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Par défaut Tracer 1 point à l'écran
    Bonjour.

    Tout est dans le titre !!

    Un truc du genre "SetPixel(...)". La fonction DrawLine ne permet pas de tracer 1 seul point comme VB le faisait, et j'ai rien trouvé d'autre !!

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Bonjour,

    j'ai rien trouvé d'autre !!
    Moi non plus, je trace donc une ligne [x,y] à [x+1,y+1]

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur de développement
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur de développement

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Par défaut
    J'en suis là aussi, mais les 2 points sont affichés. C'est là qu'est l'os hélas !

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    A essayer éventuellement :
    e.Graphics.DrawRectangle(MyPen,x, y, 1, 1);

  5. #5
    Membre confirmé
    Profil pro
    Ingénieur de développement
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur de développement

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Par défaut
    Citation Envoyé par Graffito Voir le message
    A essayer éventuellement :
    Marche pas !! ne trace rien du tout et c'est indiqué dans certain bouquin (Petzold, Chap 5).

    Encore un coup, dans l'eau !!

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Par défaut
    Salut,

    la methode de Graffito fonctionne pour ma part (fill au lieu de draw qui te fera un point plus gros) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            protected override void OnPaint(PaintEventArgs e)
            {
                base.OnPaint(e);
                e.Graphics.FillRectangle(Pens.White, 20, 20, 1, 1);
            }
    Sur un fond noir, on voit bien le point blanc. Au pire l'interop reste une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            protected override void OnPaint(PaintEventArgs e)
            {
                base.OnPaint(e);
                using (Graphics g = this.CreateGraphics())
                {
                    SetPixel(g.GetHdc() , 20, 20, (uint) 255 << 16 | 255 << 8 | 255);
                }
            }
     
            [DllImport("gdi32.dll")]
            static extern uint SetPixel(IntPtr hdc, int X, int Y, uint crColor);
    Par contre pour le petzold, il indique que le SetPixel n'est pas communement utilisé mais pas qu'il ne fonctionne pas (ou alors je ne lis le bon passage).

  7. #7
    Membre confirmé
    Profil pro
    Ingénieur de développement
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur de développement

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Par défaut
    Salut à toi.

    Le FillRectangle fonctionne au poil !!

    Citation Envoyé par SirJulio Voir le message
    Par contre pour le petzold, il indique que le SetPixel n'est pas communement utilisé mais pas qu'il ne fonctionne pas (ou alors je ne lis le bon passage).
    Chapitre 5, page 173 :
    ...
    grfx.DrawLine(pen, 3, 3, 3, 3);
    ne trace rien du tout.
    ...

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

Discussions similaires

  1. trouver et tracer des points convexes et concaves
    Par loutre84 dans le forum MATLAB
    Réponses: 7
    Dernier message: 06/08/2014, 17h46
  2. [Débutant] tracer les points dans des figures en arrière plan
    Par Nonooo dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 30/07/2013, 16h54
  3. Tracer courbe avec coordonnées de points
    Par ddsjm dans le forum MATLAB
    Réponses: 6
    Dernier message: 10/12/2006, 21h02
  4. [VB2005] Tracer un point sur une feuille(Form)
    Par Mike85 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/06/2006, 23h48
  5. Tracer une courbe avec 2 tableau de points
    Par babarpapa dans le forum 2D
    Réponses: 3
    Dernier message: 19/04/2006, 15h24

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