Comment calculer la couleur moyenne d'une image bmp sous Delphi? - Programmation
Marsh Posté le 07-05-2001 à 13:49:46
ben le plus c'est d'utiliser un composant TPaintBox. 
 
 1° Tu ouvres l'image au format bmp avec la méthode du composant (dont je ne me souviens plus du nom) ca doit etre Load File ou un truc dans le genre 
 
 2° apres tu recupere la hauteur et la largeur de l'image 
 
 3° tu utilise la propriete Pixels du TPaintBox pour obtenir la couleur de chaque pixels. 
 
Attention, il faut separer les composantes R,V,B des couleurs pour en faire la moyenne. 
 
| Code : 
 | 
 
 
Attention, ca fait quelque temps que je n'ai pas utilisé delphi alors il a surement des erreurs et il existe surement aussi un autre composant mieux adapté pour ce genre de chose (TImage peut etre). 
 
Pour separer les composantes c'est tres facile : 
 r=((c shr 16) and 255); 
 v=((c shr  8) and 255); 
 b=((c       ) and 255); 
pour le vert c'est sur mais pour le rouge te le bleu il faut peut etre les inverser : 
 r=((c       ) and 255); 
 v=((c shr  8) and 255); 
 b=((c shr 16) and 255);
Marsh Posté le 07-05-2001 à 14:40:05
ReplyMarsh Posté le 07-05-2001 à 17:43:06
pour tous les trucs de manipulations d'images ou de couleurs (algo + exemple en delphi), tu peux jeter un oeil ici: http://www.efg2.com/Lab/ 
 
je n'y ai pas vu qqchose qui ressemble a ce que tu voulais faire, tu peux toujours jeter un oeil a cet article ( http://www.efg2.com/Lab/ImageProcessing/Scanline.htm ) qui t'explique comment acceder aux pixels d'une image d'une maniere plus rapide que la propriete .pixels (si tu desires traiter des images de taille plus importante)
Marsh Posté le 07-05-2001 à 11:59:37
Tout est dans le titre, je débute au fait. Y a-t-il une fonction spéciale ou faut faire un algo?
---------------
www.planetemu.net