【问题标题】:Visual Studio VSPackage icon displays different colorsVisual Studio VSPackage 图标显示不同颜色
【发布时间】:2018-01-23 21:31:34
【问题描述】:

我正在尝试为激活我的自定义 VSPackage 扩展的按钮提供一个图标。

在设计图标时,使用了以下颜色:

前景:#fff(白色) 背景:#a375e7(浅紫色)

在 Visual Studio(解决方案资源管理器,顶部)中显示按钮中的图标时,会看到以下颜色:

前景:#000(黑色) 背景:#5c1fb7(深紫色)

图标禁用。

图标来自一个包含多个图标的 PNG 文件。每个图标为 16 x 16 像素。

诚然,我不是图像处理方面的专家,所以我有根据的猜测是,在设计时,导出之前的图像设置很简单。

有什么想法吗?

【问题讨论】:

  • 你在 VS 中使用的是深色主题吗?
  • 没错,@SergeyVlasov。
  • 尝试用浅色主题进行测试。
  • 好的。我明天早上在办公室时会试一试。我仍然需要让它在黑暗主题中正确显示...... :-)

标签: visual-studio-2017 png visual-studio-extensions imaging vspackage


【解决方案1】:

为了使图标在 Visual Studio 深色主题中以正确的对比度显示,以编程方式应用反转。

请参阅 Visual Studio 的图像和图标文档中的 Color inversion for dark themes

要退出反转,您可以尝试将右上角的像素设置为青色 (#00FFFF)。来自IVsImageService2.ThemeDIBits 文档:

将主题应用于 BGRA32 与设备无关的位图位。图像的亮度被转换,使恒定的“光晕”亮度与背景融为一体。这具有在视觉上消除光晕的效果。 “光晕”亮度是一个不可变的常数,不是从输入图像中计算出来的。右上角像素中包含青色 (#00FFFF) 的图像不会反转。相反,右上角的像素被清除(RGBA 全部设置为 0)并返回 S_OK 而不用其他方式修改图像。

【讨论】:

  • 这行得通。昨天我在同一个页面上花了很多时间寻找答案。最后我变得懒惰并停止阅读,就在关于反转的那一行之前,哈哈。谢谢你。 @Sergey!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-02
  • 2022-12-01
  • 2021-09-09
  • 2015-02-08
  • 2013-09-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多