gpt4 book ai didi

delphi - 我可以强制 Delphi 6 TImageList 位图将其透明像素绘制为某种颜色吗?

转载 作者:行者123 更新时间:2023-12-03 15:53:00 25 4
gpt4 key购买 nike

我有一个 Delphi 6 应用程序,它可以在 TListBox 行中绘制图标以及一些文本。 TListBox 的样式设置为 lbOwnerDrawVariable。我遇到的问题是选择一个项目时。列表框用于更改所选行的背景颜色的突出显示颜色使图标看起来很糟糕,因为图标具有透明像素(我的假设基于可见证据),并且这些像素被更改为背景颜色,从而破坏图片。有没有一种简单的方法可以强制透明像素绘制某种颜色,这样我就可以消除这个问题?我正在使用 TImageList.Draw() 方法在 TListBox Canvas 上绘制图标。

最佳答案

您可以使用 Draw 方法,将 DrawingStyle 设置为“dsNormal”,并将您想要用作背景的任何颜色设置为 BkColor :

ImageList1.BkColor := clHighlight;
ImageList1.Draw(Canvas, 0, 0, 0, dsNormal, itImage);

如果 Delphi 6 没有使用“DrawingStyle”的 Draw 重载,则:

ImageList1.BkColor := clHighlight;
ImageList1.DrawingStyle := dsNormal;
ImageList1.Draw(Canvas, 0, 0, 0);

关于delphi - 我可以强制 Delphi 6 TImageList 位图将其透明像素绘制为某种颜色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8488564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com