La TImageList de Delphi 2009 prend en charge les images PNG en les ajoutant dans l'éditeur imagelist. Est-il possible d'extraire un TPngImage d'un TImagelist et de préserver le canal alpha? Ce que je veux faire est réellement d'extraire les images d'un TImageList, en faire une version désactivée et puis les ajouter à un autre TImageList. Pendant cette opération je voudrais bien sûr conserver le canal alpha des images PNG.Extraction d'images PNG à partir de Delphi 2009 imagelist
3
A
Répondre
1
je fait quelque chose comme ça avec Delphi 2006.
TImageList contient une GetImages méthode protégée. Il est accessible à l'aide du « bug protégé »
type
TGetImageImageList = class (TImageList) // Please use a better name!
end;
Vous pouvez lancer la imagelist au TGetImageImageList pour se rendre à la GetImages. Bitmap contient le bitmap et le masque est un bitmap en noir et blanc qui détermine les sections transparentes.
Vous pouvez maintenant changer le bitmap et le stocker en utilisant:
function Add(Image, Mask: TBitmap): Integer;
J'espère que cela vous donne suffisamment de conseils pour explorer davantage.