PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Prélever la couleur RVB d'un pixel sur tout l'écran
Prélever la couleur RVB d'un pixel sur tout l'écran
Débuté par Bernard Béville, 06 fév. 2026 15:51 - Aucune réponse
Posté le 06 février 2026 - 15:51




/////////////////////////////////////////////
///Déclarations générales dans le projet
//EXTERNE "KeyConst.WL"
//EXTERNE "WinConst.WL"
//CONSTANT
// USER32 = "user32"
// GDI32 = "gdi32"
//FIN
//GLOBAL
// gbScanne est un booléen
// gnX,gnY sont des entiers
////////////////////////////////////////////
// Remarque : il n 'y aucun champs susceptible de prendre le focus pour pouvoir utiliser la fonction ToucheEnfoncée()
//Procédure ScannePosition lancée au clic sur l'image de déclenchement
//Utilisation de la barre d'espace du clavier pour stopper la recherche
SI ToucheEnfoncée(VK_SPACE) ALORS
SI gbScanne=Vrai ALORS
gbScanne=Faux
IMG_Scanne=IMG_Stop
IMG_Scanne..CouleurFond=RougeClair
FinTimer(1)
GR_Couleurs..Visible=Vrai
RETOUR
SINON
gbScanne=Vrai
IMG_Scanne=IMG_SanneOui
IMG_Scanne..CouleurFond=VertClair
Timer(ScannePosition,10,1)
GR_Couleurs..Visible=Faux
RETOUR
FIN
FIN
// Récupère les coordonnées de la souris à l'écran
gnX = PoidsFaible(CurseurPos(cpEcran))
gnY = PoidsFort(CurseurPos(cpEcran))
///Utilisation de libellés pour afficher les valeurs X et Y
LIB_PositionX ="X="+ gnX
LIB_PositionY ="Y="+ gnY
///Appel aux DLL, scanne tout l'écran
DC est un entier système = AppelDLL32("user32","GetDC",cpEcran)
nResCouleur est un entier = API("gdi32.dll", "GetPixel", DC,gnX,gnY)
//Détection de sortie d'écran
SI gnX<0 OU gnY<0 ALORS
LIB_Rouge=""
LIB_Vert=""
LIB_Bleu=""
SINON
//Affichage des couleurs RVB
LIB_Bleu=RVBBleu(nResCouleur)
LIB_Rouge=RVBRouge(nResCouleur)
LIB_Vert=RVBVert(nResCouleur)
FIN

Ce programme est en téléchargement sur https://idee-association.org/pipette-2/