Couleur d'un pixel

Soyez le premier à donner votre avis sur cette source.

Vue 6 355 fois - Téléchargée 623 fois

Description

Permet d'obtenir la couleur d'un pixel (dans 2 formats : le TColor Pascal et le RGB, décliné lui même sous 2 formes : décimal et héxadécimal) à l'écran.

Il peut être judicieux de placer un raccourci vers le programme (si l'on en a usage) dans la barre de lancement rapide par exemple.

Conclusion :


Le code est commenté.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
19
Date d'inscription
lundi 30 mars 2009
Statut
Membre
Dernière intervention
29 juillet 2009

pourrais tu m'aider ?
Voici mon code, mais mon tramage ressort en noir et rouge au lieux de nori et blanc et j'ai de nombreuses imperfection dans l'image... plein de petit pixel rouge ( qui devraient être blanc) apparaissent autour de mon image...
Merci d'avance.

procedure TForm1.BiChromieClick(Sender: TObject);
Const
seuil=128;
Var
x,y:word;
begin

for x:=0 to image1.picture.width do
begin

for y:=0 to image1.picture.Height do
begin
if image1.Picture.Bitmap.Canvas.Pixels [x,y]>seuil then
image1.Picture.Bitmap.Canvas.Pixels [x,y]:=255 else image1.Picture.Bitmap.Canvas.Pixels [x,y]:=0;
memo1.Clear;
end;
end;
end;
Messages postés
16
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
29 décembre 2004

On n'arrête pas le progrès :-D !
Messages postés
16
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
29 décembre 2004

Et oui, ce n'est qu'une affaire de handle ;-) (on pourrait penser de prime abord que le code fait une "copie" du canvas à un instant donné alors qu'en réalité il récupère vraiment le canvas puisqu'il lui attribue son handle).
En effet, j'ai oublié de virer "rect0" :-/ (qui servait dans la première version du code).
Bien vu pour la fonction ColorToString (je ne connaissais pas) ;-). De plus "coult" ne servait effectivement à rien, même avant l'utilisation de ColorToString (j'avais fait ce code quand je débutais en Delphi [NB : je suis toujours débutant, mais un peu moins :-D], et en le relisant avant de le poster ici je n'ai pas fais gaffe :-/ ).
Enfin, le code fonctionne parfaitement sans "coulh", mais cette fois je n'ai pas compris pourquoi (à quoi sert dès lors la fonction ColorToRGB ?)...
En tout cas merci beaucoup pour cette intervention et désolé de t'avoir paru agressif ;-).
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
re moi :)
bon j'ai compris apres m'etre plongé dedans, merci le handle :D
euh le rect0 ne sert a rien je pense, ni meme coult et coulh, regarde :

coul := CanvasB.Pixels[Mouse.CursorPos.X,Mouse.CursorPos.Y];
Shape1.Brush.Color := coul;
Label1.Caption := 'TColor : ' + ColorToString(coul);
Label2.Caption := 'RGB : ' + IntToStr(GetRValue(coul)) + ',' + IntToStr(GetGValue(coul)) + ',' + IntToStr(GetBValue(coul));
Label3.Caption := 'HTML : #' + IntToHex(GetRValue(coul),2) + IntToHex(GetGValue(coul),2) + IntToHex(GetBValue(coul),2);

suffit :) et puis comme ça, lors d'un passage sur une couleur "pure" cimme le rouge, bleu, blanc, noir, le TColot affiche "clRed" "clBlue" etc :) beau non ?

9/10 pour ce code tres efficace et tres court (surtout avec coulh et coult en moins :D)
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
???????
"faire la malin" ? abusé ! je me demandais si ça le ferais, n'ayant pas la possibilité de le tester sous delphi ici (au taf)
donc euh explique moi comment ça se fait car je ne vois pas de refresh du canvas !
tu te sens agressé ?? c pas mon but ! au contraire ... je trouves tes sources superbe (moins celle ci :p) :)
allez explike moi , moi ki n'ai pas compris comment ça marche sans le refresh :p
merciiiii
Afficher les 9 commentaires

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.