Extraire les composantes R, G, B d'un bitmap 16 bits

ericamiens Messages postés 18 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 9 septembre 2004 - 5 mai 2003 à 10:44
cs_mhd_youssef Messages postés 9 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 11 juin 2004 - 28 avril 2004 à 16:40
bonjour, j'aimerais donc extraire ces composantes mais les fonctions GetRValue, GetGValue et GetBValue attendent un RGB (32 bits) en entrée. ça fonctionne donc bien en 32 bits et 24 bits mais en 16 bits, chaque pixel est codé sur 1 word (2 octets) et l'appel de GetXValue ne me donne pas les résultats escomptés.
j'aimerais savoir s'il existe une fonction similaire ou une fonction de conversion (sachant que ColorToRGB() et PaletteIndex() ne fonctionnent pas)

j'utilise GetBitmapBits() et SetBitmapBits().
je n'ai par contre pas de problème avec canvas.getpixel() et canvas.setpixel() mais c'est horriblement long.

exemple de ce que j'ai et j'aimerais obtenir :
après mon GetBitmapBits() j'ai les 2 octets suivants pour coder le 1° pixel (GRIS) :
(123, 239)

en 24 et 32 bits, la valeur est :
(128, 128, 128) ce qui correspond bien à du gris

bref, j'aimerais transformer (123, 239) en TColor=(128, 128, 128)
mais aussi modifier le TColor (ça je m'en charge) ET le retransformer (exemple : (140, 128, 16)) afin de l'avoir sous forme de 2 octets (x, y).

si vous avez une piste, je vous en serais très reconnaissant.

merci d'avance et bonne journée.

Eric

2 réponses

cs_KyoKo Messages postés 3 Date d'inscription dimanche 24 mars 2002 Statut Membre Dernière intervention 27 avril 2006
21 nov. 2003 à 00:49
salut Eric, si on t'envoie de la doc sur la convertion RVB 24 bits en 16 bits, ce serrait sympa, Kyoko
0
cs_mhd_youssef Messages postés 9 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 11 juin 2004
28 avril 2004 à 16:40
youssef EL GHAZIOUI
je voudrai copier 4 images .bmp dans le meme tableau dans des espaces Timages
0
Rejoignez-nous