utils.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:color_sheme_generator 作者: temaput 项目源码 文件源码
def from_rgb_to_paletton_hue(r, g, b, color_wheel):
    from colorsys import rgb_to_hsv

    h, s, v = rgb_to_hsv(r, g, b)
    wheel_hues = tuple(
        rgb_to_hsv(*color_wheel[k][:3])[0] for k in sorted(color_wheel.keys())
    )
    if h in wheel_hues:
        paletton_hue = wheel_hues.index(h) * 15
    else:
        i = sorted(wheel_hues + (h,)).index(h)
        wheel_start = (i - 1) * 15
        wheel_end = i * 15 if i < len(wheel_hues) else 360
        h1 = wheel_hues[i-1]
        h2 = wheel_hues[i] if i < len(wheel_hues) else 1.
        k = (h - h1) / (h2 - h1)
        log.debug(
            "k=%s, h=%s, h1=%s, h2=%s, i1=%s, i2=%s",
            k, h, h1, h2, wheel_start, wheel_end
        )
        paletton_hue = round(
            wheel_start + k * (wheel_end - wheel_start)
        )
        paletton_hue %= 360
    return paletton_hue
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号