Dessiner un Polygone à l'aide de la Souris les Points en C#
J'ai besoin d'être en mesure de dessiner un polygone à l'aide de la souris cliquez sur emplacements.
Voici mon code actuel:
//the drawshape varible is called when a button is pressed to select use of this tool
if (DrawShape == 4)
{
Point[] pp = new Point[3];
pp[0] = new Point(e.Location.X, e.Location.Y);
pp[1] = new Point(e.Location.X, e.Location.Y);
pp[2] = new Point(e.Location.X, e.Location.Y);
Graphics G = this.CreateGraphics();
G.DrawPolygon(Pens.Black, pp);
}
Grâce
Je suppose que vous êtes sur winforms. Vous fourni le code, mais ça ne marche pas? Quelle est votre question?
Oui je suis sur, et oui ça ne fonctionne pas, je peux;t travail comment stocker mouseclicks dans le tableau pour eux d'être rejoint par une ligne, comme si dans MS Paint
Comment un utilisateur de dessiner un polygone? Ligne par ligne, ou l'ensemble du polygone à la fois? Vous souhaitez que l'utilisateur clic gauche x fois pour les points et puis cliquez-droit de tirage (sinon comment savez-vous quand l'utilisateur a fini)?
Idéalement, ligne par ligne, avec un unlimted nombre de points jusqu'à ce que le droit de l'utilisateur clique sur arrêter la forme du polygone dessiné
Oui je suis sur, et oui ça ne fonctionne pas, je peux;t travail comment stocker mouseclicks dans le tableau pour eux d'être rejoint par une ligne, comme si dans MS Paint
Comment un utilisateur de dessiner un polygone? Ligne par ligne, ou l'ensemble du polygone à la fois? Vous souhaitez que l'utilisateur clic gauche x fois pour les points et puis cliquez-droit de tirage (sinon comment savez-vous quand l'utilisateur a fini)?
Idéalement, ligne par ligne, avec un unlimted nombre de points jusqu'à ce que le droit de l'utilisateur clique sur arrêter la forme du polygone dessiné
OriginalL'auteur Chris Bacon | 2010-10-21
Vous devez vous connecter pour publier un commentaire.
Ok, voici un exemple de code:
OriginalL'auteur GôTô
Tout d'abord, ajoutez ce code:
Sur l'objet que vous dessinez sur, la capture de l'événement OnClick. L'un des arguments devraient avoir les coordonnées X et Y du clic. Les ajouter à la matrice de points:
Et puis enfin, lorsque vous dessinez les lignes, utilisez ce code:
EDIT:
Ok, donc le code ci-dessus n'est pas tout à fait correcte. Tout d'abord, c'est le plus probable d'un événement de Clic au lieu d'un événement OnClick. Deuxièmement, Pour obtenir la position de la souris, vous avez besoin de deux variables déclarées avec la matrice de points,
Alors un déplacement de la souris de l'événement:
Puis, dans votre Sur événement:
De quoi êtes-vous le dessin des polygones?
Sur un picturebox
Ah, ok. Donc j'ai édité le post. Cette nouvelle approche devrait fonctionner.
Est-ce que tout dans la picturebox événements?
OriginalL'auteur Entity