CONNAÏTRE LES VALEURS RGB DU PIXEL SELECTIONNÉ PAR UN CLIC DE SOURIS

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 - 4 avril 2005 à 17:29
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 - 4 avril 2005 à 17:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30523-connaitre-les-valeurs-rgb-du-pixel-selectionne-par-un-clic-de-souris

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
4 avril 2005 à 17:29
Ton code ne peux pas fonctionner vu que tu récupères le pixel du Canvas de la TForm !!!
De plus, la position souris de l' ecran est une chose et la position de ton TImage en est une autre ...
Voilà une solution:

var
PositionSouris, PositionClickImage: TPoint;
R, G, B, X, Y : integer;
s:string;
valeur_couleur : Tcolor;
begin
GetCursorPos(PositionSouris);

// Récupérer la position de la souris sur l' image :
PositionClickImage := Image1.ScreenToClient(PositionSouris);

valeur_couleur := Image1.canvas.pixels[PositionClickImage.X,PositionClickImage.Y];
R := GetRValue( ColorToRGB(valeur_couleur));
G := GetGValue( ColorToRGB(valeur_couleur));
B := GetBValue( ColorToRGB(valeur_couleur));
str(R,s);
edit1.text:=s;
str(G,s);
edit2.text:=s;
str(B,s);
edit3.text:=s;

// Afficher la position de la souris :
edit4.text:=intToStr(PositionClickImage.X);
edit5.text:=intToStr(PositionClickImage.Y);
end;

Voilà, ça serait bien que tu essayes ton code avant de poster :(
Rejoignez-nous