我希望在我正在编写的程序中实现类似于http://colorschemedesigner.com/的东西,因此我采用了 3 种示例颜色,以及该工具发现的适合该方案的所有颜色,并且我想在这里对模式进行逆向工程,试图弄清楚如何创建我自己的工具,因为据我所知,他不提供 API。
我这里拉了3种颜色,色调相差1度,颜色如下,主色是我输入工具的颜色。
color RBG HLS
mstr hex: FF0000 255 0 0 (0.0, 0.5, 1.0)
frst hex: BF3030 191 48 48 (0.0, 0.46862745098039216, 0.5983263598326359)
scnd hex: A60000 166 0 0 (0.0, 0.3254901960784314, 1.0)
thrd hex: FF4040 255 64 64 (0.0, 0.6254901960784314, 1.0)
frth hex: FF7373 255 115 115 (0.0, 0.7254901960784313, 1.0)
color RBG HLS
hex: FF0700 255 7 0 (0.004575163398692812, 0.5, 1.0)
hex: BF3330 191 51 48 (0.003496503496503489, 0.46862745098039216, 0.5983263598326359)
hex: A60400 166 4 0 (0.004016064257028125, 0.3254901960784314, 1.0)
hex: FF4540 255 69 64 (0.004363001745200675, 0.6254901960784314, 1.0)
hex: FF7673 255 118 115 (0.0035714285714285956, 0.7254901960784313, 1.0)
color RBG HLS
hex: FF0D00 255 13 0 (0.008496732026143797, 0.5, 1.0)
hex: BF3730 191 55 48 (0.00815850815850816, 0.46862745098039216, 0.5983263598326359)
hex: A60800 166 8 0 (0.008032128514056233, 0.3254901960784314, 1.0)
hex: FF4940 255 73 64 (0.007853403141361256, 0.6254901960784314, 1.0)
hex: FF7A73 255 122 115 (0.008333333333333378, 0.7254901960784313, 1.0)
添加了 180 度的色调:#00CC00
color RBG HLS
hex: 00CC00 0 204 0 (0.3333333333333333, 0.4, 1.0)
hex: 269926 38 153 38 (0.3333333333333333, 0.37450980392156863, 0.6020942408376962)
hex: 008500 0 133 0 (0.3333333333333333, 0.2607843137254902, 1.0)
hex: 39E639 57 230 57 (0.3333333333333333, 0.5627450980392157, 0.7757847533632286)
hex: 67E667 103 230 103 (0.3333333333333333, 0.6529411764705882, 0.7175141242937852)
我做了一些基本的减法,看看我是否可以手动找到关系,例如,主颜色和第二颜色有 65% 的差异,然后大约有 59% 的差异,然后是 0% 的差异,仅基于第二种颜色R、G 或 B 的值除以主机的相同值。
我的问题是:是否有一些 Python 包可以帮助我解决这个问题?失败了,我错过了一些比例吗?
编辑:我很好奇,开始查看他的 js 源代码,试图弄清楚他是如何做到的,但我离理解它还差得很远。我在这里上传了:http ://tankorsmash.com/transfers/csd3.js ,因为它超过了 pastebin 限制。