【发布时间】:2020-03-13 22:41:22
【问题描述】:
我正在尝试使行颜色具有 74% 的透明度。
我的代码:
TDBGrid(sender).canvas.brush.color := RGB(0,176,240);
但我不知道在哪里为画笔添加透明度?
【问题讨论】:
-
请提供更多信息,说明您在
TDBGrid后面的内容或其想要部分显示的行?答案取决于此。还有,这是 VCL 还是 FMX -
Vcl。只是行的背景颜色
-
但是我不明白你为什么关心透明度。看this answer展示了如何在
OnDrawColumnColumnCell()事件中指定背景颜色(注意,你需要设置DBGrid1.DefaultDrawing := False;) -
如果您想将颜色与表格的标准灰色混合,您可以转换为 HSL 颜色模型并将饱和度更改为 26,转换回 RGB 后得到 RGB(89, 135, 151 )。或者,如果您想将颜色与白色背景混合,您可以转换为 HSV 模型并将饱和度更改为 26,将其转换回 RGB 会得到 RGB(178, 223, 240)。后者,IMO,作为背景颜色看起来更好。 (免责声明:我对提到的色彩空间没有正式的了解,只是在这件事上抛出了我的外行想法。)
标签: delphi