Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从单个十六进制颜色创建互补、三元组和单色调色板_Javascript_Php - Fatal编程技术网

Javascript 从单个十六进制颜色创建互补、三元组和单色调色板

Javascript 从单个十六进制颜色创建互补、三元组和单色调色板,javascript,php,Javascript,Php,我要做的是从用户提供的单个十六进制/rgb值创建三个不同的调色板。调色板将具有所提供颜色的补色,然后将生成完整的调色板。理想情况下,我可以有一个5色调色板,而不仅仅是一个单一的互补色。我还将为三元组、analagous和单色方案创建调色板 我想弄清楚的是如何创建补色,然后再创建调色板。这里列出的其他调色板类型也是如此。我愿意用Javascript或PHP来做这件事。我实际上写了一个小脚本,可以做很多事情 假设您的起始颜色为红色(十六进制:#ff0000) 互补色:colorflow.comple

我要做的是从用户提供的单个十六进制/rgb值创建三个不同的调色板。调色板将具有所提供颜色的补色,然后将生成完整的调色板。理想情况下,我可以有一个5色调色板,而不仅仅是一个单一的互补色。我还将为三元组、analagous和单色方案创建调色板


我想弄清楚的是如何创建补色,然后再创建调色板。这里列出的其他调色板类型也是如此。我愿意用Javascript或PHP来做这件事。

我实际上写了一个小脚本,可以做很多事情

假设您的起始颜色为红色(十六进制:#ff0000)

  • 互补色:
    colorflow.complete('#ff0000')
  • 互补色,调色板为5:
    colorflow.complete('ff0000','double')
  • Triadic:
    colorflow.Triadic('#ff0000')
  • 单色:
    colorflow.旋转色散('c0c0',5,'saturation')

  • 等等。

    速度。。。现代浏览器可以很容易地处理这样的数学问题。我不知道确切的方程式,但我认为它们不会超过四行或五行的总和。请具体说明您需要哪些代码方面的帮助。请参阅:@Diodeus再次检查问题(已更新)。我正在寻找从一种颜色创建一个互补调色板。将十六进制转换为rgb等是最简单的部分。步骤1:转换十六进制->rgb步骤2:转换rgb->hsl步骤3:将偏移量(0-359)添加到h步骤4:使用hsl值设置css规则(您可以使用十六进制、rgb或hsl设置颜色-浏览器将转换并存储为rgb,因此如果设置为hsl,则再次请求此颜色,您将获得rgb值)这种方法将使hsl色轮上的输入和输出颜色之间保持一致的关系,即两种颜色之间的角度(h)将保持不变。黑白图像的着色也是类似的,即不在rgb颜色空间中。我尝试过单色功能,但它给我带来了错误(控制台中未定义错误)。