Ajouter une couleur à la palette d'une image [Résolu]

sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention - 6 oct. 2010 à 22:53 - Dernière réponse : sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention
- 7 oct. 2010 à 18:49
Bonjour,
j'ai une petite question : dans mon programme l'utilisateur charge une image JPEG ou BMP dans un TImage, et je voudrais colorier des parties de cette image (TImage) en bleu clAqua mais quand je le fait ça apparaît soit en grisé soit bien en clAqua.
Je pense que cela est dû au fait que l'image ajoutée possède une palette fixe et que Delphi y met la couleur la plus approchante. Je voudrais pouvoir forcer le TImage à afficher cette couleur en ajoutant clAqua à sa palette.
Je précise que j'ai Delphi 2007.

Merci.

SISI231
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Caribensila 2684 Messages postés jeudi 15 janvier 2004Date d'inscription 26 juillet 2018 Dernière intervention - 7 oct. 2010 à 14:11
3
Merci
Salut,

@sisi231
Il faudrait vérifier la propriété pixelformat de ton Bitmap qui doit être strictement inférieure à 16 bit pour être palettisé.
En pf8bit, le clAqua est une des 20 couleurs de la palette réservées par Windows et devrait de toute façon s'afficher.

@Cirec
Ce tutoriel a été traduit par nono40 ici.

Merci Caribensila 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Caribensila
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 7 oct. 2010 à 12:52
0
Merci
Salut,

ajouter une couleur je pense pas que ce soit possible .. mais remplacer une couleur ça l'est dans certaines conditions.

regarde ce code de Mauricio il y a une procedure qui remplace (substitue) une couleur par une autre

où celui-ci dans le même style toujours de Mauricio

mais vérifies le "PixelFormat" du Bitmap que tu veux modifier qu'il soit >= pf24Bit à mon avis c'est de la que vient le problème.


[hr]@+Cirec
[hr]
Commenter la réponse de Cirec
sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention - 7 oct. 2010 à 13:04
0
Merci
Ok merci je regarderai celà ce soir.

SISI231
Commenter la réponse de sisi231
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 7 oct. 2010 à 13:14
0
Merci
ps: regardes cette excellent tutoriel de Earl F. Glynn sur www.efg2.com "efg's Computer Lab"

il y présente l'utilisation de scanline mais en plus il y explique aussi les palettes dans les différents formats (pf1Bit .. pf32Bit)

ça devrait t'aider


[hr]@+Cirec
[hr]
Commenter la réponse de Cirec
sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention - 7 oct. 2010 à 18:49
0
Merci
En fait j'avais un bitmap que j'affectais à mon TImage, en mettant son pixelformat à 24 bits, le clAqua s'affiche. J'y avais pensé, mais je pensais que comme l'origine du bitmap était un JPEG, ce JPEG avait une palette de couleurs indexées, et que Delphi ne trouvant pas clAqua dans cette palette y mettait la couleur la plus approchante. En effet il y a bien les palettes indexées et les palettes par nombres de bits.
Merci.

SISI231
Commenter la réponse de sisi231

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.