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