【问题标题】:Delphi TImageList PNG alpha renders too darkDelphi TImageList PNG alpha 渲染太暗
【发布时间】:2013-03-27 14:46:14
【问题描述】:

我的 Delphi XE3 应用程序工具栏有 PNG 图标,当通过 TImageList 添加到 TActionToolbar 时,Alpha 通道呈现的比应有的更暗,导致图标看起来很糟糕。我认为这个问题与TImageList 有关,而不是与TActionToolbar 有关。

Photoshop 模型:

导入到TActionToolbar 后的实际外观(文件夹填充的 alpha 为深蓝色):

这是我的 TImageList 的 Delphi Object Inspector 设置(不,问题不在于 BlendColor 属性):

有没有办法让 Delphi/Windows/罪魁祸首正确渲染 alpha 通道?一种选择是将图标全部设为位图,但我宁愿不经历用透明颜色编辑位图的麻烦,因为,好吧,我宁愿不回到恐龙时代...... TIA。

【问题讨论】:

  • TImageList.ColorDepth 设置为cd32bit
  • @KenWhite 设置为 cd32Bit(我贴的截图)。
  • 对不起。我后面的代理不允许图像通过,所以我认为您的屏幕截图很可能是图像本身。 :-)

标签: delphi png alpha timagelist


【解决方案1】:

我发现处理此问题的最佳方法是在保存 PNG 图像之前,在 Photoshop 中包含透明度的每个像素下方绘制 Delphi 工具栏(或任何 UI 元素)的背景颜色。这样一来,工具栏图标除了 100% 透明像素外完全不透明,因此不会发生 alpha 混合——因此不会产生丑陋。

使用RRUZ's code here 使禁用的工具栏图标看起来更好。

【讨论】:

    猜你喜欢
    • 2019-03-18
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 2016-06-22
    • 2014-11-30
    • 2014-10-06
    相关资源
    最近更新 更多