我想从TImageListTImage加载图片(32位深度,透明)。标准方法是ImageList.GetBitmap(Index, Image.Picture.Bitmap);。但是GetBitmap方法不能与透明一起使用,因此我总是得到一个不透明的位图。

最佳答案

解决方法非常简单-ImageList提供了另一种方法GetIcon,可以在透明的情况下正常工作。加载透明图像的代码为:

ImageList.GetIcon(Index, Image.Picture.Icon);

并且不要忘记设置适当的ImageList属性:
ImageList.ColorDepth:=cd32bit;
ImageList.DrawingStyle:=dsTransparent;

关于delphi - 如何从ImageList加载透明图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11600044/

10-11 19:10