46-tkinter-ttkbootstrap-colorutils色彩模块

colorutils色彩模块

ttkbootstrap.colorutils

color_to_hex()

color_to_hex(color, model='rgb')

将颜色值转换为十六进制。

颜色和模型参数表示要转换的颜色。 该值应为“名称”和“十六进制”模型的字符串,并且 a “rgb”和“hsl”型号的元组或列表。

参数:

名字类型描述违约
colorAny正在转换的模型的颜色值。必填
modelstr正在转换的颜色模型。'rgb'

返回:

类型描述
str十六进制颜色值。

源码(ttkbootstrap/colorutils.py):

def color_to_hex(color, model=RGB):
    """将颜色值转换为十六进制.

    T颜色和模型参数表示要转换的颜色。
	该值预计为 “名称” 和 “十六进制” 模型的字符串,并且
	“rgb” 和 “hsl” 模型的元组或列表。
	
	
    参数:

        color (Any):
            正在转换的模型的颜色值。

        model (str):
            正在转换的颜色模型。

    Returns:

        str:
            十六进制颜色值。
    """
    r, g, b = color_to_rgb(color, model)
    return f'#{r:02x}{g:02x}{b:02x}'

color_to_hsl()

color_to_hsl(color, model='hex')
将颜色值转换为 HSL。

颜色和模型参数表示要转换的颜色。 该值应为“名称”和“十六进制”模型的字符串,并且 a “rgb”和“hsl”型号的元组或列表。

参数:

名字类型描述违约
colorAny正在转换的模型的颜色值。必填
modelstr正在转换的颜色模型。'hex'

返回:

类型描述
Tuple[int, int, int]hsl 颜色值。

源码(ttkbootstrap/colorutils.py):

def color_to_hsl(color, model=HEX):
    """将颜色值转换为hsl.

    颜色和模型参数表示要转换的颜色。
	该值预计为 “名称” 和 “十六进制” 模型的字符串,并且
	“rgb” 和 “hsl” 模型的元组或列表。.

    Parameters:

        color (Any):
            正在转换的模型的颜色值。

        model (str):
            正在转换的颜色模型。

    Returns:

        Tuple[int, int, int]:
            hsl颜色值。
    """
    r, g, b = color_to_rgb(color, model)
    hls = rgb_to_hls(r/255, g/255, b/255)
    h = int(hls[0]*HUE)
    l = int(hls[1]*LUM)
    s = int(hls[2]*SAT)
    return h, s, l

color_to_rgb()

color_to_rgb(color, model='hex')
将颜色值转换为 rgb。

颜色和模型参数表示要转换的颜色。 该值应为“名称”和“十六进制”模型的字符串,并且 a “rgb”和“hsl”型号的元组或列表。

参数:

名字类型描述违约
colorAny正在转换的模型的颜色值。必填
modelstr正在转换的颜色模型。'hex'

返回:

类型描述
Tuple[int, int, int]rgb 颜色值。

源码(ttkbootstrap/colorutils.py)

def color_to_rgb(color, model=HEX):
    """将颜色值转换为rgb

    颜色和模型参数表示要转换的颜色。
	该值预计为 “名称” 和 “十六进制” 模型的字符串,并且
	“rgb” 和 “hsl” 模型的元组或列表。

    Parameters:

        color (Any):
            正在转换的模型的颜色值。

        model (str):
            正在转换的颜色模式

    Returns:

        Tuple[int, int, int]:
            rgb颜色值。
    """
    color_ = conform_color_model(color, model)    
    try:
        return ImageColor.getrgb(color_)
    except:
        print('this')

conform_color_model()

conform_color_model(color, model)
使颜色值符合可解释的字符串 由 .PIL.ImageColor.getrgb method

参数:

名字类型描述违约
colorUnion[Tuple[int, int, int], str]要符合的颜色值。必填
modelstr“HSL”、“RGB”或“HEX”之一必填

返回:

类型描述
str可用作参数的颜色值字符串 必。ImageColor.getrgb 方法。

源码(ttkbootstrap/colorutils.py)

def conform_color_model(color, model):
    """使颜色值符合可以解释的字符串通过 “pil.ImageColor.getrgb方法”.

    Parameters:

        color (Union[Tuple[int, int, int], str]):
            要符合的颜色值。

        model (str):
            “Hsl”,“ rgb ”或“ hex” 之一

    Returns:

        str:
            颜色值字符串,可以用作 PIL.ImageColor.getrgb方法
    """    
    if model == HSL:
        h, s, l = color
        return f'hsl({h},{s}%,{l}%)'
    elif model == RGB:
        r, g, b = color
        return f'rgb({r},{g},{b})'
    else:
        return color

contrast_color()

contrast_color(color, model='rgb', darkcolor='#000', lightcolor='#fff')
返回最佳匹配的对比浅色或深色 给定的颜色。

参数:

名字类型描述违约
colorAny要评估的颜色值。必填
modelstr要评估的颜色值的模型。“RGB” by 违约。'rgb'
darkcolorAny颜色相控时要返回的颜色值 应该是黑暗的。'#000'
lightcolorAny颜色相控时要返回的颜色值 应该是轻的。'#fff'

返回:

类型描述
str匹配的颜色值。

源码(ttkbootstrap/colorutils.py)

def contrast_color(color, model=RGB, darkcolor='#000', lightcolor='#fff'):
    """返回最佳匹配的对比浅色或深色给定的颜色。

    Parameters:

        color (Any):
            要评估的颜色值。

        model (str):
            要评估的颜色值的模型。'rgb' 默认。

        darkcolor (Any):
            约束颜色时要返回的颜色值应该是黑暗的。

        lightcolor (Any):
            约束颜色时要返回的颜色值应该是亮色

    Returns:

        str:
            匹配的颜色值。
    """
    if model != RGB:
        r, g, b = color_to_rgb(color, model)
    else:
        r, g, b = color

    luminance = ((0.299 * r) + (0.587 * g) + (0.114 * b))/255
    if luminance > 0.5:
        return darkcolor
    else:
        return lightcolor

update_hsl_value()

update_hsl_value(color, hue=None, sat=None, lum=None, inmodel='hsl', outmodel='hsl')
根据 提供色相、饱和、流明参数。

参数:

名字类型描述违约
colorAny颜色必填
hueint介于 0 和 360 之间的数字。None
satint介于 0 和 100 之间的数字。None
lumint介于 0 和 100 之间的数字。None
inmodelstr要更改的颜色所使用的颜色模型。其中之一 HSL,RGB,十六进制,名称。'hsl'
outmodelstr颜色为时要返回的颜色值模型 改变。HSL,RGB,十六进制之一。'hsl'

返回:

类型描述
Union[Tuple[int, int, int], str]基于所选颜色模型的颜色值。

源码(ttkbootstrap/colorutils.py)

def update_hsl_value(color, hue=None, sat=None, lum=None, inmodel=HSL, outmodel=HSL):
    """根据提供色调、sat、lum参数。

    Parameters:

        color (Any):
            The color

        hue (int):
            0和360之间的数字。

        sat (int):
            0和100之间的数字。

        lum (int):
            0和100之间的数字。

        inmodel (str):
            要更改的颜色使用的颜色模型。其中一个hsl,rgb,十六进制,名称。

        outmodel (str):
            当颜色为变。hsl之一,rgb,十六进制。

    Returns:

        Union[Tuple[int, int, int], str]:
            基于所选颜色模型的颜色值。
    """
    h, s, l = color_to_hsl(color, inmodel)
    if hue is not None:
        h = hue
    if sat is not None:
        s = sat
    if lum is not None:
        l = lum
    if outmodel == RGB:
        return color_to_rgb([h, s, l], HSL)
    elif outmodel == HEX:
        return color_to_hex([h, s, l], HSL)
    else:
        return h, s, l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日,当挖目相待

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值