Bonjour,
Je recherche des infos pour la modification d'une image dans un TImageList.
Pour récupérer l'image on a la méthode GetBitmap, mais pour la modifier ou la remplacer ?
Est-ce possible ?
Merci d'avance.
Bonjour,
Je recherche des infos pour la modification d'une image dans un TImageList.
Pour récupérer l'image on a la méthode GetBitmap, mais pour la modifier ou la remplacer ?
Est-ce possible ?
Merci d'avance.
Sauf erreur de ma part, je ne pense pas qu'il soit possible de modifier directement l'imgae dans le TImageList.
Donc il te faut récupérer l'image, la modifier image, supprimer l'ancienne et rajouter la nouvelle.
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Ok, je te remercie de ta réponse donc ma solution devrait ressembler à çà :
en admettant que mon image soit l'index 2 du TImageList :
Ensuite pour l'ajout d'un bmp, il y a bien la méthode "Add", mais est-il possible de lui conserver le même indice ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 //récupération de l'image dans une variable ImageList1.GetBitmap(2, tmpbitmap); //modification du bmp tmpbitmap.canevas. etc.... //Suppression de l'image ImageList1.Delete(2);
Utilise la méthode Insert au lieu de Add, tu pourras lui préciser l'index de ton choix.Envoyé par Leesox
@+ Claudius
Ok, çà marche, je n'avais pas remarqué cette méthode.
Merci à vous deux.
Je reviens sur mon post, car j'ai un petit soucis.
J'ai dans ma liste d'images, j'ai une dixaine de bitmap tous de même dimensions (carré) et tous d'une couleur différentes.
Après ce code
J'ai deux questions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 try tmpBitmap := TBitmap.Create; with DM.imgListeTypes do begin GetBitmap(0, tmpBitmap); ARect:=Rect(0,0,tmpBitmap.Width,tmpBitmap.Height); tmpBitmap.Canvas.Brush.Color:= sltTRouge.SelectedColor; tmpBitmap.Canvas.FillRect(ARect); //tmpBitmap.Canvas.Rectangle(0,0,24,24); Delete(0); Insert(0, tmpBitmap, tmpBitmap); end; finally tmpBitmap.Free; end;
1/ L'image retournée est toujours de couleur noire, pourquoi ?
2/ L'image n'est pas sauvegardée dans la liste à la fermeture du programme, pourquoi ?
PS. Je ne sais pas trop quoi mettre dans le mask de la méthode Insert.
Merci
Partager