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

Messages postés
210
Date d'inscription
mercredi 5 mars 2003
Dernière intervention
29 mars 2013
- 6 oct. 2010 à 22:53 - Dernière réponse :
Messages postés
210
Date d'inscription
mercredi 5 mars 2003
Dernière intervention
29 mars 2013
- 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
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
- 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é 89 internautes ce mois-ci

Commenter la réponse de Caribensila
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 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
Messages postés
210
Date d'inscription
mercredi 5 mars 2003
Dernière intervention
29 mars 2013
- 7 oct. 2010 à 13:04
0
Merci
Ok merci je regarderai celà ce soir.

SISI231
Commenter la réponse de sisi231
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 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
Messages postés
210
Date d'inscription
mercredi 5 mars 2003
Dernière intervention
29 mars 2013
- 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.