Lire les coordoneé du pixels

Résolu
charkas301 Messages postés 3 Date d'inscription mercredi 1 novembre 2006 Statut Membre Dernière intervention 23 janvier 2007 - 23 nov. 2006 à 00:03
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 23 nov. 2006 à 18:18
boujour
je veux lire les coordoneé du pixels pour savoir ca couleur
ex :
j'ai une pixels
pset (x,y),RGB (255,0,0)

si je veur fair a l'inverse c.à.d j'ai une pixels sur le Form1 et je veux lire les coordoneé du pixels et savoir ca couleur


 


merci


 

5 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
23 nov. 2006 à 00:43
Salut,

ouvre un nouveau projet, insère un Timer, et 3 labels (nommés respectivement Label1, Label2, Label3), puis colle ce code :

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long

Private Type Couleur
    red As Integer
    green As Integer
    blue As Integer
End Type

Private Type POINTAPI
    x As Long
    y As Long
End Type

Dim PosCur As POINTAPI

   
Private Function CouleurPixel(ByVal x As Long, ByVal y As Long) As Couleur
        Dim pixel As Couleur, RGBPx As Long
    RGBPx = GetPixel(GetDC(0&), x, y)
    pixel.red = &HFF& And RGBPx
    pixel.green = (&HFF00& And RGBPx) \ 256
    pixel.blue = (&HFF0000 And RGBPx) \ 65536
    CouleurPixel = pixel
End Function

Private Sub Form_Load()
    Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
    Call GetCursorPos(PosCur)
    Label1.Caption = "R = " & CouleurPixel(PosCur.x, PosCur.y).red
    Label2.Caption = "G = " & CouleurPixel(PosCur.x, PosCur.y).green
    Label3.Caption = "B = " & CouleurPixel(PosCur.x, PosCur.y).blue
End Sub


--Mortalino--

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 nov. 2006 à 08:19
Utilise simplement la méthode Point de ta Form :

'# Pour choisir le couleur d'un pixel....
Form1.PSet (x,y), RGB(255,0,0)

'# Pour lire la couleur d'un pixel
MyColor =  Form1.Point ( X,Y)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
23 nov. 2006 à 00:38
Salut
Tu fais comme tout le monde : Tu tapes "couleur pixel" dans la recherche et tu auras ta réponse

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
23 nov. 2006 à 00:46
J'avoue que les copier coller fûrent faciles à faire. 2 minutes d'adaptations, pour 4 / 5 minutes de regroupement de code.

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0

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

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
23 nov. 2006 à 18:18
Aïe, j'ai cherché du côté de GetSet, je risqué pas de le trouver. Merci  ;)

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
Rejoignez-nous