Bonjour,
Je suis sur un projet en Visual Basic .Net 2008 et j'ai un petit problème assez mathématique, j'avoue que je coince et votre aide me serait fort utile.
Voilà, j'ai besoin de tracer des lignes sur une picturebox, pas de problèmes pour cela. Mais j'ai besoin que l'origine du repère ne se trouve pas en haut à gauche comme il l'est naturellement en informatique mais en bas à droite comme il l'est conventionnellement en math, j'effectue donc l'opération suivante sur tous les coordonnées Y que j'ai a saisir : pctEcran.size.height - Y (pctEcran représentant le contrôle conteneur bien entendu).
Pour rendre la navigation plus facile pour l'utilsiateur (qui a à se déplacer sur le plan représenté par la picturebox) j'ai utilisé deux variables piur stocker les coordonnées X et Y lors de l'événement mouse_down sur le contrôle (dans clic.x et clic.y) puis j'effectue l'opération suivante dans le sub événementiel mouse_up pour obtenir le décalage en abscisse et en ordonnée effectué par la souris de l'utilsiateur : e.x - clic.x et e.y - clic.y (le e étant le paramètre de l'événement mouse_up). C'est un peu complexe, j'espère que je m'explique bien.
Dernier point (ouf), je possède deux variables (toujours X et Y) représentant l'origine (virtuelle) du repère puisque cette origine change pour s'affiche rà n'importe quel endroit de la picturebox. Le ut étant de créer un plan dans lequel l'utilisateur eut se déplacer horizontalement et verticalement (un peu comme GéoGebra ou des logiciels de géométrie mais sans le déplacement Z en zoom). Mais comme mes valeurs récupérées du déplacement par la souris ont subit la retablissement de l'origine (pctEcran.size.height - Y) et que mon origine virtuelle ne l'a pas subit, je m'y perd. Je suppose qu'il y a une mise en équation là dedans mais j'ai le cerveau en surchauffe et cela fait plusieurs fois que je me frotte au problème sans succès.
Pouvez-vous, si vous comprenez le problème ou avez déjà eu à faire à cela m'aider ? Je vous en serez très reconnaissant !
Merci beaucoup de votre attention et merci à Philippe Lassere pour son tutoriel sur VB.NET qui m'a beaucoup aidé dans mon apprentissage du langage. Léo Nicoletti, lycéen.
Partager