Ajouter une image au format png à une imagelist lors de l'exécution à l'aide de Delphi XE
J'ai besoin d'ajouter lors de l'exécution d'une image au format png à une TImageList
. J'ai regardé les fonctions mises en œuvre par le TCustomImageList
mais ils ne permettent que l'ajout de
- bitmaps,
- icônes ou
- des images à partir d'un autre imagelist
E. g.:
function Add(Image, Mask: TBitmap): Integer;
function AddIcon(Image: TIcon): Integer;
function AddImage(Value: TCustomImageList; Index: Integer): Integer;
procedure AddImages(Value: TCustomImageList);
function AddMasked(Image: TBitmap; MaskColor: TColor): Integer;
Comment je peux ajouter une image PNG à un composant ImageList sans avoir à les convertir cette image en BMP?
L'IDE peut déjà ajouter un PNG à un ImageList au moment de la conception:
Maintenant, nous avons besoin de le faire au moment de l'exécution.
OriginalL'auteur Salvador | 2010-11-19
Vous devez vous connecter pour publier un commentaire.
Selon MSDN un imagelist ne peut contenir que des images et des icônes. Pour ajouter une image au format png à une imagelist vous devez la convertir en une icône de la première. Le code à faire qui peut être trouvé dans la PngComponents paquet. Si vous avez seulement des images PNG dans votre imagelist vous pouvez pour plus de simplicité suffit d'utiliser TPngImageList qui vient avec le paquet.
OriginalL'auteur Uwe Raabe
Delphi XE a tout le soutien de manipuler des images png et 32 bits
images bitmap à canal alpha. Voici comment ajouter de la png à un ImageList:
Vous devez inclure
ImgList, PngImage
Si vous essayez maintenant:
vous verrez que les images sont les mêmes. En fait, il y a quelques
\pm 1 rgb différences dues à des erreurs d'arrondi lors de l'alpha blending
mais vous ne pouvez pas les voir à l'oeil nu. En négligeant de les définir
bmp.AlphaFormat:=afIgnored; entraînerait la deuxième image
beaucoup plus sombre!
Cordialement,
alex
OriginalL'auteur alex
OriginalL'auteur David Heffernan