Déterminer la couleur des pixels parcouru par le pointeur sur une form

Soyez le premier à donner votre avis sur cette source.

Snippet vu 2 831 fois - Téléchargée 49 fois

Contenu du snippet

La variable pix détermine la valeur de la couleur sous le pointeur

Ce code peut servir pour des jeu ou ce style de repérage est nécessaire

La commande point (x,y) seule n'est pas satisfaisante car les événements déclanchés par la souris sont trop distants dans le temps par rapport à la vitesse de déplacement du pointeur.
Il faut donc déterminer la couleur de chaque pixel sur un segment compris entre les points repérés par deux évenements consécutifs.
Le fonctionnement du code est optimisé par le calcul de la pente du segment qui détermine si l'on incrémente l'axe des x ou celui des y pour prendre en compte tous les pixels.

Source / Exemple :


Private Sub form_mousemove(button As Integer, shift As Integer, x As Single, y As Single)
Image1.Move x, y
cstex = x - x1: If cstex = 0 Then Exit Sub: If a = 0 Then Exit Sub
cstey = y - y1
a = (y - y1) / cstex
b = y - (a * x)
If Abs(cstex) > Abs(cstey) Then
    Select Case cstex
        Case Is >= 0
            For i = 1 To cstex
            z = a * (x - i) + b
            pix = Point((x - i), z)
             Next i
        Case Is < 0
            For i = 1 To Abs(cstex)
            z = a * (x + i) + b
            pix = Point((x + i), z)
            Next i
    End Select
Text1.Text = pix
Else
    Select Case cstey
        Case Is >= 0
            For i = 1 To cstey
            z = ((y - i) - b) / a
            pix = Point(z, (y - i))
            Next i
        Case Is < 0
            For i = 1 To Abs(cstey)
            z = ((y + i) - b) / a
            pix = Point(z, (y + i))
            Next i
    End Select
Text1.Text = pix
End If
x1 = x
y1 = y
End Sub

A voir également

Ajouter un commentaire

Commentaires

The man whit the long hair
Messages postés
11
Date d'inscription
samedi 1 septembre 2001
Statut
Membre
Dernière intervention
20 mai 2002
-
Wow , c'est un bon code
cs_shivan
Messages postés
363
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
25 août 2003
-
ce serait mieux si tu bougais l'image avec une fonction de l'api... la je trouve ke ca rame un peu... sinon le code est pas mauvais...
ha oui aussi, ce serai bien ke tu fasse un zoli projet et ke tu le mette en zip... c plus simple ke de copier et créer les controles ki vont bien... enfin bon, c un faignant ki te dis ca !!! ;-)

8/10

$hîv@n

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.