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 :

rendre persistant un draw sur un graphics


Sujet :

C#

  1. #21
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Moi pour le besoin

    J'ouvre une nouvelle fenetre avec un autre picturebox
    Je colle l'image que j'ai besoin dedans
    et je dessine sur un nouveau graphics

    Mais je ne comprends toujours pas ou est ta difficulté ?

    Et comme tu n'explique pas tres clairement ce que tu fais, ce que tu veux faire et ce qui te bloque, c'est un dialogue de sourds !

  2. #22
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut
    salut !
    ok je t'explique ce que j'ai fait
    - je charge une image et je la mets dans pictureBox
    - j'ai mis une fonction qui permet a l'utilisateur lorsqu'il clique deux fois sur le contour de l'image, le programme dessine une ligne qui relie les deux clique
    - j'ai fait une autre fonction qui joue le rôle de peau de peinture de paint
    - jusqu'à maintenant c'est bon !!!

    - supposant que le contour de la forme sa largeur est d'un pixel donc dans ce cas ce n'est pas facile de dessiner une ligne (car le contour est très fin donc pour pouvoir cliquer dessus il te faut une loupe !!) pour cela je veux mettre a la disposition de l'utilisateur une loupe qui fait un zoom sur l'image, pour qu'il puisse voir très facilement les points du contour.

    maintenant si je fais des changement sur la taille de l'image j'aurai des problèmes avec les autres fonction !!! j'ai pense a faire comme toi, lorsqu'il clique sur un bouton que je nome LOUPE une nouvelle fenêtre s'ouvre qui contient un pictureBox et un trackBar pour le zoom et je copie le contenue de pictureBox de la fenêtre principale dans pictureBox de la nouvelle fenêtre en suite je fais mes dessins dans nouvelle fenêtre et l'image se modifie au même temps sur pictureBox initial !!! voila mais je ne sais pas si c'est la bonne solution !! en plus ce sera pas facile pour l'implémenter

  3. #23
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Si j'ai bien compris ca me semble la seule bonne solution

  4. #24
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut

    mais je pense que c'est un peu compliqué pour le faire surtout pour afficher au même temps dans les deux pictureBox non !! je ne sais pas comment faire pour manipuler le zoom avec trackBar c'est sûrement ce que t'as utilisé non ? et j'aimerais faire aussi si t'as une idée, ajouter un HscrollBar sur pictureBox, en cas de débordement de l'image ?? merci beaucoup pour ton aide..
    a+

  5. #25
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Non !

    Je n'ai pas fait de trackbar
    L'utilisateur définit un carré dans son image avec drag click droit de la souris
    Quand il lache j'ouvre le zoom
    Et il peut encore recadrer la position de son carré en tirant sur son image zoom avec une petite main !

  6. #26
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut
    waw !!!
    c'est super ce que t'as fait comment tu l'as fait

  7. #27
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Voila une base

    Maintenant cherche un peu aussi !
    Quand je l'ai fait j'ai aussi chipoté avant de trouver la solution mais c'est vraiment comme ca qu'on apprends .


    Les event mouse

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
        // **********************************************************************************************
        private void pb_cont_MouseDown(object sender, MouseEventArgs e)
        {
          if (radio_map2.Checked == true)
          {
            Point pa = new Point(e.X, e.Y);
            CalcDist(pa);
            return;
          }
          // points pour zoom
          if (e.Button == MouseButtons.Right)
          {
            pRef.X = e.X;
            pRef.Y = e.Y;
          }
        }
       // **********************************************************************************************
        private void pb_cont_MouseMove(object sender, MouseEventArgs e)
        {
          if (e.Button == MouseButtons.Right) // pour le zoom
          {
            pbDrawRectangle(e.X, e.Y);
            return;
          }
        }
        // **********************************************************************************************
        private void pb_cont_MouseUp(object sender, MouseEventArgs e)
        {
          if (e.Button == MouseButtons.Right)
          {
            pbZoom(e.X, e.Y);
            return;
          }
        }
    Le dessin du carré

    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
        // **************************************************************************************************
        void pbDrawRectangle(int X, int Y)
        {
          pb_cont.Refresh();
     
          int dX = Math.Abs(X - pRef.X);
          int dY = Math.Abs(Y - pRef.Y);
     
          int Z = Math.Max(dX, dY);
          dX = Z;
          dY = Z;
     
          int rX = pRef.X;
          int rY = pRef.Y;
     
          if (X - pRef.X < 0) rX = X;
          if (Y - pRef.Y < 0) rY = Y;
     
          Graphics graphics = pb_cont.CreateGraphics();
          graphics.DrawRectangle(Pens.Black, rX, rY, dX, dY);
     
        }

Discussions similaires

  1. question sur les graphics
    Par jayjay.f dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/11/2006, 11h26
  2. Rendre application standalone utilisable sur le Web ?
    Par Amnesiak dans le forum Général Java
    Réponses: 27
    Dernier message: 14/09/2006, 15h09
  3. Rendre le formulaire invisible sur ouverture etat
    Par kimar dans le forum Access
    Réponses: 4
    Dernier message: 24/07/2006, 15h33
  4. Rendre un onglet inactif sur un TPAGECONTROL
    Par richard038 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 12/09/2005, 09h58
  5. Rendre le curseur invisible sur une fenêtre donnée
    Par Meuhmeuh dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/11/2002, 12h25

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