javascript – 在网页上使用CMYK

我需要在我的网页上使用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)));


}

调用cmykToRGB,cmyk范围为0.0到1.0.那应该给你一个RGB颜色代码.但是这又是一个启发式的,这些颜色空间之间的实际对话要复杂得多,并且考虑到更多的变量,然后在这里表示.你的里程可能会有所不同,你得到的颜色可能不会“看起来”

jsFiddle here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)