gpt4 book ai didi

javascript - 在网页上使用 CMYK

转载 作者:太空狗 更新时间:2023-10-29 13:06:03 26 4
gpt4 key购买 nike

我需要在我的网页上使用 CMYK 颜色。有什么方法可以在 CSS 中使用 CMYK,或者可以使用 JavaScript 将 CMYK 转换为 RGB?

编辑:
我的意思是我有 CMYK 符号的颜色创建算法,我需要在网页上使用它。

最佳答案

没有完美的算法可以将 CMYK 转换为 RGB。 CYMK是减色系统,RGB是加色系统。每个都有不同的gamuts ,这意味着有些颜色无法在其他颜色系统中表示,反之亦然。两者都是设备相关的颜色空间,这实际上意味着您真正获得的颜色取决于您使用哪种设备来再现该颜色,这就是为什么您为每个设备设置颜色配置文件以调整它如何将颜色生成为更“绝对”的东西.

您能做的最好的事情就是将一个空间的模拟近似于另一个空间。整个计算机科学领域都致力于此类工作,而且它非常重要。

如果您正在寻找执行此操作的启发式方法,那么 Cyrille 提供的链接是非常简单的数学运算,并且很容易反转以接受 CYMK 颜色并生成合理的 RGB 传真。

一个非常简单的启发式方法是将青色映射到 0x00FFFF,洋红色映射到 0xFF00FF,黄色映射到 0xFFFF00,黑色(键)映射到0x000000。然后做这样的事情:

function cmykToRGB(c,m,y,k) {

function padZero(str) {
return "000000".substr(str.length)+str
}

var cyan = (c * 255 * (1-k)) << 16;
var magenta = (m * 255 * (1-k)) << 8;
var yellow = (y * 255 * (1-k)) >> 0;

var black = 255 * (1-k);
var white = black | black << 8 | black << 16;

var color = white - (cyan | magenta | yellow );

return ("#"+padZero(color.toString(16)));


}

用 cmyk 范围从 0.0 到 1.0 调用 cmykToRGB。这应该会给你一个 RGB 颜色代码。但这同样只是一种启发式方法,这些颜色空间之间的实际对话要复杂得多,并且考虑到的变量比这里表示的要多得多。您的里程数可能会有所不同,并且您从中得到的颜色可能“看起来不正确”

jsFiddle here

关于javascript - 在网页上使用 CMYK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869248/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com