Couleur d'un pixel

Soyez le premier à donner votre avis sur cette source.

Vue 6 698 fois - Téléchargée 645 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
arckhenstone Messages postés 19 Date d'inscription lundi 30 mars 2009 Statut Membre Dernière intervention 29 juillet 2009
31 mars 2009 à 09:45
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;
cs_BLG Messages postés 16 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 29 décembre 2004
31 déc. 2004 à 19:04
On n'arrête pas le progrès :-D !
cs_BLG Messages postés 16 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 29 décembre 2004
31 déc. 2004 à 12:03
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 ;-).
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
31 déc. 2004 à 11:33
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)
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
30 déc. 2004 à 21:01
???????
"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.