【问题标题】:Transparent colors with dbgrid使用 dbgrid 的透明颜色
【发布时间】: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


【解决方案1】:

gdi+ 可以支持颜色的 alpha 通道,您可以在任何画布中使用 gdi+ 函数

【讨论】:

  • 这是对原始帖子的评论(如果您有评论权限),但它不是当前发布的答案。
猜你喜欢
  • 2013-12-26
  • 1970-01-01
  • 2015-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多