【发布时间】:2013-12-21 09:19:51
【问题描述】:
我想在 CMYK 中使用漂亮的 jQuery 颜色选择器 (https://github.com/vanderlee/colorpicker) 颜色。
从我使用的对话框中获取 cmyk 值
colorFormat: ['EXACT', 'cp;mp;yp;kp'],
结果是这样的
0;68.157958984375;68.157958984375;20.1904296875
但是当我再次打开颜色选择器对话框时,颜色并不确定。
EXACT 模式似乎不用于阅读。
您可以使用以下方法进行测试:
<!DOCTYPE html>
<html><head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/ui-lightness/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="colorpicker/jquery.colorpicker.js"></script>
<link type="text/css" rel="stylesheet" href="colorpicker/jquery.colorpicker.css"></link>
</head>
<body>
<input type="text" class="cp-full" value="0;83.782958984375;83.782958984375;4.736328125" style="width:350px" />
<script>
$(function() {
$('.cp-full').colorpicker({
parts: ['map', 'bar', 'hex', 'rgb', 'alpha', 'cmyk', 'preview' ],
showOn: 'both',
colorFormat: ['EXACT', 'cp;mp;yp;kp'],
init: function(event, color) {
console.log(color);
},
});
});
</script>
</body>
那么,我该怎么做呢?
(当 init 被触发时,我查看了对象,但我认为为时已晚。也许有一个更早的事件将值从字段中拆分出来。)
【问题讨论】:
-
你试过了吗:
colorformat('c, m, y, k') -
我试过 colorFormat: ['EXACT', 'cp;mp;yp;kp'] 没有成功。我认为您的表达无效。它必须是 HEX 或 RGB 等预定义格式之一。否则它必须是 coler (chanel) 的一个字符和数据类型的第二个字符。
-
Colorpicker 的最新版本允许您创建解析器扩展。您应该能够通过复制提供的示例之一,使用简单的正则表达式为这种特定格式创建一个。
-
只是为了让您知道。我修复了 Colorpicker 中的一些代码,这些代码导致一些解析器无法初始化按钮的颜色。这是固定的,我已经通过 h3nr1x 更新了 jsfiddle 以反映这一改进:jsfiddle.net/mwvdlee/B945t
标签: jquery colors color-picker cmyk