Recupéré une couleur d'une image

laurent180 Messages postés 72 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 2 novembre 2008 - 16 janv. 2004 à 17:28
laurent180 Messages postés 72 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 2 novembre 2008 - 17 janv. 2004 à 23:50
Bonjour a tous,

voila le programme consiste a récupéré le num de couleur d'une image c pt tout simple mais sa fct pas il me met erreur erreur d'execution 380 quand ma souris passe sur l'image. il me met a ce moment le num de couleur FFFFFFFF
j'utilise une picture et met une image, même si je change d'image, j'ai la meme erreur.

' L'API GetPixel recupere la couleur d'une point de coordonnee x et y.
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long) As Long
Dim X As Integer
Dim Y As Integer
Dim color1 As Long

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Je recupere la couleur du point de coordonnee x et y
color1 = GetPixel(Picture1.hDC, X, Y)
Me.Caption = Hex(color1)
Label1.Caption = X & " " & Y

Check1.BackColor = color1

End Sub
si vous avez une idée ou la solution..
merci
laurent180

5 réponses

cs_Cracker Messages postés 82 Date d'inscription dimanche 9 septembre 2001 Statut Membre Dernière intervention 21 août 2006
17 janv. 2004 à 00:13
Perso, moi j'utilise la fonction :
Picture1.Point(X,Y)

Elle renvoi aussi une valeur Long, et elle marhce tres bien !!

DarkSpirit
0
MoiOlivier Messages postés 172 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 4 août 2005
17 janv. 2004 à 09:28
Salut,
Le problème vient sûrement de l'échelle utilisée dans ton picturebox, les coordonées à donner à l'api GetPixel doivent être des pixels, donc il faut que la propriété scalemode de ton picturebox soit en Pixels.

Je crois que le problème vient de là.
Bonne prog.
0
laurent180 Messages postés 72 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 2 novembre 2008
17 janv. 2004 à 11:39
merci beaucoup pour votre aide, j'ai mis le scalemode en pixels et sa fct tres bien.
je connaisais pas non plus picture1.point(x,y).

je voudrais maintenant faire le meme prog mais au lieu de picture je veux utilisé image.
j'ai cherché image1.point(x,y) pour imagen il n'y est pas
et j'ai essayé l'api getpixel j'ai la meme erreur que av c a d couleur FFFFFFFF et il y a pas de scalemode pour image1.
0
cs_Cracker Messages postés 82 Date d'inscription dimanche 9 septembre 2001 Statut Membre Dernière intervention 21 août 2006
17 janv. 2004 à 14:24
Il me semble que j'avais eu un probleme dans ce genre !!
C'était la résolution des couleurs qui posait probleme je crois, mais je suis pas sur que ca corresponde a ton pb !!
Je vé essayer de te faire un prog ex, et je te l'envoi si j'y arrive !!

DarkSpirit
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
laurent180 Messages postés 72 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 2 novembre 2008
17 janv. 2004 à 23:50
oki encore merci pour ton aide.
laurent180
0
Rejoignez-nous