我需要在运行时将一个png图像添加到TImageList.我查看了TCustomImageList实现的函数,但它们只允许添加
>位图,
>图标或
>来自其他图像列表的图像
例如.:
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;
如何在不将此图像转换为BMP的情况下将PNG图像添加到ImageList组件?
IDE已经可以在设计时将PNG添加到ImageList:
现在我们需要在运行时完成它.
解决方法
根据MSDN,图像列表只能包含位图和图标.要将png图像添加到图像列表,您必须先将其转换为图标.可以在
PngComponents包中找到执行此操作的代码.如果您的图像列表中只有PNG图像,则可以简单地使用该软件包附带的TPngImageList.