cs_roger53
Messages postés3Date d'inscriptionjeudi 11 janvier 2007StatutMembreDernière intervention21 janvier 2007
-
21 janv. 2007 à 19:32
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 2014
-
21 janv. 2007 à 22:53
Salut :)
Je commance à peine l'apprentissage du visual basic et là, j'essaie de
réaliser un petit projet. J'ai presque terminer, mais il y a toujours 2
truc qui m'intrigue T.T .
Comment faire pour obtenir les coordoner X, Y d'un picture box. (Le
picture box est à l'intérieur d'un autre picture box si ça peut
changer quelque chose.)
Comment faire pour savoir la couleur à un point précis. (Par exemple, si je demande "de quel couleur est le pixel située à (442,843)" )
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 21 janv. 2007 à 20:50
Bonsoir, Charles,
Les coordonnées X et Y retournées par les événements ci-dessus sont par rapport au coin supéroeur gauche de la PictureBox et sont en unités logiques de la pictureBox (donc en Pixels pour un Scalemode en Pixels, etc...)
Les coordonnées utulisées par la méthode Objet.point (donc chez notre ami Picture1.Point(X,Y) ) sont également en unités logiques de la pictureBox et également par rapport au coin supérieur gauche de la PictureBox
Aucun problème, donc, ... et la preuve :
une form, 1 label label1, le code qui suit... et on survole la picturebox avec la souris
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.Caption = X & " " & Y & " " & Picture1.Point(X, Y)
Picture1.PSet (X, Y), vbRed
End Sub
et ceci sera toujours vrai, quel que soit le scalemode de la Form et celui de la picturebox !
Par goût personnel, je n'utilise personnellement pas l'interface de VB, donnant la préférence, comme toi, aux fonctions de l'API de Windows... Mais notre ami nous montre (et le dit) qu'il en est à peine à l'apprentissage. Mettons-nous donc à son niveau
Vous n’avez pas trouvé la réponse que vous recherchez ?
Ben, il demmande les coordonnées de la PictureBox (propriétées left et top de celle-ci), pas de la souris dans la picturebox.
"Comment faire pour obtenir les coordoner X, Y d'un picture box.
"
Je pense qu'il veut avoir ses coordonnées par rapport à un autre obejet.
Surtout qu'il présise qu'elle est contenu dans un autre PictureBox
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 21 janv. 2007 à 21:08
Ben Charles ....
Il s'est mal exprimé, c'est tout ...
Quant aux coordonées de la pictureBox, elles n'ont, quant à elles, rien à voir avec celles de la souris...
Je pense que ta boule de cristal est endommagée ou enfumée (aére un peu la pièce ...)
Quant au code que j'ai mis au dessus, il est vrai, même pour une pictureBox mise dans une PictureBox qui est mise dans une pictureBox elle-même mise dans une pictureBox... etc... et même si chacune d'entre elles a un Scalemode différent...
Il retourne/fixe la couleur du point survolé de la PictureBox traitée...
cs_roger53
Messages postés3Date d'inscriptionjeudi 11 janvier 2007StatutMembreDernière intervention21 janvier 2007 21 janv. 2007 à 22:20
Alors pour question numéro 1, sa va.
Mais pour la couleur a un point, la sa va vraiment pas ...
Alors j'essaie d'y aller avec point() et voilà mon code:
couleur1 = Picture1.Point(X1, Y1).Color
Couleur 1 est une variable. J'ai essayer un peu tout les type possible (integer, string, single,...) mais je ne sait pas trop lequel prendre.
X1, Y1 sont des variable de type Integer.
Ce que j'essaie de faire avec ça c'est que couleur1 contienne la couleur au point (x1, y1)
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 21 janv. 2007 à 22:37
Et je vois qu'en plus tu avais la syntaxe de 15669 EBArtSoft =15669 Couleur = Picture1.Point(442,843)
où vois-tu un .color là dedans ?
et d'op vient donc ce color qui ne veut dire quelque chose qu'en espagnol ?
et dis-moi : as-tu au moins ouvert ton aide en ligne sur le mot Point ? (tu y aurais vu la même syntaxe que la mienne et celle de =15669 EBArtSoft
(Picture2.Left - 240, Picture2.Top - 240) représente le point central de picturebox2. vrai?
pourtant cette ligne me donne l'erreur "overflow" lors de la compilation.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 21 janv. 2007 à 22:53
Attends, là !
1) tu en as fini avec cette discussion. Tu valides donc les réponses EBArtSoft et jmfmarques (bonnes toutes deux)
2) tu ouvres une nouvelle discussion avec ton nouveau sujet, en lui donnant un titre révêlateur, cette fois-ci, et en l'exposant avec précision.