jquery颜色、RGB到HSL和背面

jquery颜色、RGB到HSL和背面,jquery,colors,Jquery,Colors,我用它将一种颜色从十六进制转换为hsl,通过添加一个从0到360的数字来修改它的色调,然后做一个mod 360来获得我真正感兴趣的新色调值 问题是我不知道如何正确地将其转换回RGB 给定以下示例(您可以对其进行测试),为什么hslAfter的值与hsl的值不同 据我所见,我只是将十六进制的originalColor转换为一个HSL值数组,然后在hslAfter中尝试从中生成一个字符串 function testHue() { var originalColor = $.colors($(

我用它将一种颜色从十六进制转换为hsl,通过添加一个从0到360的数字来修改它的色调,然后做一个mod 360来获得我真正感兴趣的新色调值

问题是我不知道如何正确地将其转换回RGB

给定以下示例(您可以对其进行测试),为什么
hslAfter
的值与
hsl
的值不同

据我所见,我只是将十六进制的
originalColor
转换为一个HSL值数组,然后在
hslAfter
中尝试从中生成一个字符串

function testHue() {
    var originalColor = $.colors($("#originalColor").val());

    var hsl = $.colors(originalColor).model('HSL').get();
    var hslAfter = $.colors(hsl).toString('hsl');
    var hex = $.colors(hsl).toString('hex');
}
hslAfter
的值不应该与
hsl
的值相同吗?(这里我甚至没有提到新的十六进制值,当然,它应该与原始十六进制颜色相同)


我是否遗漏了某些内容(无论如何都要修复此问题)?

您刚刚遗漏了一些参数

基于参数创建颜色。返回颜色对象

colorInput表示颜色的字符串或数组

formatName颜色格式的名称

modelName颜色的颜色模型的名称

这是一个演示,其中十六进制输出现在与十六进制输入相同

您可以从中使用。他们有很多

看看这个例子

函数testHue(){
var originalColor=$.colors($(“#originalColor”).val();
var rgb=$.colors(originalColor.model('rgb').get();
var hsl=$.colors(originalColor.model('hsl').get();
var hslAfter=$.colors(hsl,'array3Normalized','hsl')。toString('hsl');
var hex=$.colors(hsl,'array3Normalized','hsl')。toString('hex');
$(“#rgbColor”).html(“rgb:+rgb”);
$(“#hslColor”).html(“hsl:+hsl”);
$(“#hslAfter”).html(“hsl.toString('hsl'):”+hslAfter);
$(“#hexColor”).html(“hsl.toString('hex'):”+hex);
}

rfb:
hsl:
hsl.toString('hsl'):
hsl.toString('hex'):


我被你的小提琴弄糊涂了。。。如果我输入
#ffffff
,我们是否希望最后一项是
#ffffff
?我也是。但你的问题是从变换色调开始的。我正在解释我想使用的算法(转换为hsl、修改色调、返回rgb),并给出一个明显的例子说明我的问题是什么(如果我真的在小提琴中变换颜色,我不会看到那么明显)。也许我做这件事的方式有问题,也许还有另一种(更好的)方法(只是把所有的事实都放进去)你试过把#FF0000作为源颜色吗?它将其转换为#000000,我不知道why@AndreiS,这很奇怪。。。它对
00FF00
执行相同的操作,然后对
0000FF
执行相同的操作,结果是
FFFFFF
。。。其他组合,如
#FF0100
工作正常。我想说这一定是插件中的一个错误,应该将此线程和JSFiddles一起通知开发人员。@ayjay,仍然与创建它的那天一样工作。@Sparky,我在控制台日志中看到这个错误:
Uncaught TypeError:$。colors不是一个函数
@ayjay,我在JSFIDLE上没有收到任何控制台错误。听起来你的浏览器在加载插件时遇到了问题。
$.colors( colorInput, [formatName], [modelName] )