【发布时间】:2020-01-26 21:55:23
【问题描述】:
我有一些透明图标,其大小比要添加它们的 ImageList 小。我尝试像往常一样使用ImageList.AddIcon(IcoHandle); 添加它们,但似乎它们已缩放到 ImageList 大小。我想找到一种方法来增加具有透明颜色的 Icon 的画布,以便将其添加到 ImageList 中而无需缩放。这可能吗?
更新1:
我已经按照大卫所说的做了,但是图标失去了透明度......
LoadIconWithScaleDown(HInstance, PChar('NUT_VITAL'), ISmall, ISmall, hI);
Ico.Handle:= hI;
Bmp:= TBitmap.Create;
Bmp.Transparent:= True;
Bmp.PixelFormat:= pf32bit;
Bmp.SetSize(ISize, ISize);
Bmp.Canvas.Draw(0, 0, Ico);
Pics.Add(Bmp, nil);
Bmp.Free;
【问题讨论】:
-
创建一个所需大小的新图像,并在其上绘制较小的图像
-
@DavidHeffernan 检查我的更新...
-
你为什么要创建一个可视化控件(TImage)来复制图标?这完全不合适(而且没有必要)。
-
@KenWhite 不然怎么办?
-
在代码中创建一个
TBitmap,并用它代替TImage。TImage控件用于向用户直观地显示图像。
标签: delphi icons delphi-10.3-rio