0

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

具有正确值的 Adob​​e XD

具有错误值的电子

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

我认为它可能是我的电子版本。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 运行良好。必须有解决办法。

欢迎任何建议。

谢谢阅读!

4

1 回答 1

0

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

是的。

还有你正在使用的数字测色仪...

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

在此处输入图像描述

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

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

于 2021-10-30T10:11:19.357 回答