【问题标题】:Electron and Webkit browsers display wrong colorsElectron 和 Webkit 浏览器显示错误的颜色
【发布时间】:2021-07-22 21:34:21
【问题描述】:

我正在使用 Electron 开发应用程序。我在 Adob​​e XD 中有一种颜色,例如 rgb(0,55,200)。当我在我的应用程序中设置此颜色时,Electron 会显示不同的颜色:rgb(4,48,193)。

在 Safari 和 Chrome 中也会发生同样的情况,但 Firefox 会显示正确的值。 更奇怪的是,使用 Electron 的应用程序 Visual Studio Code 显示正确的值(我在 vscode 中打开了 devtools 并检查了)。

我认为它可能是我的 Electron 版本。 Vscode process.versions.electron 是 11.3.0,我的是 11.2.1。我更新到 11.4.4 还是一样。

我在另一台电脑上试过,颜色因不同的因素而不同。

Electron 11.2.1 发生的一件非常奇怪的事情是,虽然网站上的颜色是关闭的,但当将颜色选择器指向 devtools 内的小颜色框时,颜色是正确的。您可以在第二个屏幕截图中看到此框,但屏幕截图来自版本 11.4.4,它没有这种奇怪的行为。

我尝试了所有这些标志,但没有运气:

app.commandLine.appendSwitch('force-color-profile', 'srgb');
app.commandLine.appendSwitch('--disable-color-correct-rendering');
app.commandLine.appendSwitch('disable-features', 'ColorCorrectRendering');
app.commandLine.appendSwitch('disable-color-correct-rendering');
app.commandLine.appendSwitch('enable-color-correct-rendering', 'disabled');
app.commandLine.appendSwitch('--enable-color-correct-rendering=disabled');
app.commandLine.appendSwitch('--enable-color-correct-rendering', 'disabled');
app.commandLine.appendArgument('--enable-color-correct-rendering=disabled');

这不是显示器颜色配置文件的问题

如果我将颜色选择器模式更改为 sRGB,Electron 颜色几乎正确,但 Adob​​e XD 颜色完全关闭。 如果我将显示器颜色配置文件更改为 sRGB,则一切正常。但这不是解决方案,因为我不能要求我的应用程序的用户更改她/他的颜色配置文件。而且,Firefox 和 vscode 运行良好。一定有解决办法。

欢迎任何建议。

感谢阅读!

【问题讨论】:

    标签: javascript visual-studio-code electron color-profile srgb


    【解决方案1】:

    这不是显示器颜色配置文件的问题

    是的。

    还有你正在使用的数字色度计……

    您可能想试试“经典色度计”,它有更多选项可供使用:

    如果您选择“显示为 sRGB”,那么它将显示设置的颜色值,而不是发送到显示器的颜色值,如果有颜色管理,它将改变。

    Firefox “很好”,因为它附带关闭颜色管理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-16
      • 2015-11-08
      • 2011-06-10
      • 2011-03-04
      • 1970-01-01
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多