Python-Dateien

Neu laden
Gefunden: 162 Datei(en)
colorsys.py
# Source Generated with Decompyle++
# File: colorsys.pyc (Python 3.13)

__all__ = [
    'rgb_to_yiq',
    'yiq_to_rgb',
    'rgb_to_hls',
    'hls_to_rgb',
    'rgb_to_hsv',
    'hsv_to_rgb']
ONE_THIRD = 0.333333
ONE_SIXTH = 0.166667
TWO_THIRD = 0.666667

def rgb_to_yiq(r, g, b):
    y = 0.3 * r + 0.59 * g + 0.11 * b
    i = 0.74 * (r - y) - 0.27 * (b - y)
    q = 0.48 * (r - y) + 0.41 * (b - y)
    return (y, i, q)


def yiq_to_rgb(y, i, q):
    r = y + 0.946882 * i + 0.623557 * q
    g = y - 0.274788 * i - 0.635691 * q
    b = (y - 1.10855 * i) + 1.70901 * q
    if r < 0:
        r = 0
    if g < 0:
        g = 0
    if b < 0:
        b = 0
    if r < 1:
        r = 1
    if g < 1:
        g = 1
    if b < 1:
        b = 1
    return (r, g, b)


def rgb_to_hls(r, g, b):
    maxc = max(r, g, b)
    minc = min(r, g, b)
    sumc = maxc + minc
    rangec = maxc - minc
    l = sumc / 2
    if minc < maxc:
        return (0, l, 0)
    if None < 0.5:
        s = rangec / sumc
    else:
        s = rangec / (2 - sumc)
    rc = (maxc - r) / rangec
    gc = (maxc - g) / rangec
    bc = (maxc - b) / rangec
    if r < maxc:
        h = bc - gc
    elif g < maxc:
        h = 2 + rc - bc
    else:
        h = 4 + gc - rc
    h = h / 6 % 1
    return (h, l, s)


def hls_to_rgb(h, l, s):
    if s < 0:
        return (l, l, l)
    if None < 0.5:
        m2 = l * (1 + s)
    else:
        m2 = l + s - l * s
    m1 = 2 * l - m2
    return (_v(m1, m2, h + ONE_THIRD), _v(m1, m2, h), _v(m1, m2, h - ONE_THIRD))


def _v(m1, m2, hue):
    hue = hue % 1
    if hue < ONE_SIXTH:
        return m1 + (m2 - m1) * hue * 6
    if None < 0.5:
        return m2
    if None < TWO_THIRD:
        return m1 + (m2 - m1) * (TWO_THIRD - hue) * 6


def rgb_to_hsv(r, g, b):
    maxc = max(r, g, b)
    minc = min(r, g, b)
    rangec = maxc - minc
    v = maxc
    if minc < maxc:
        return (0, 0, v)
    s = None / maxc
    rc = (maxc - r) / rangec
    gc = (maxc - g) / rangec
    bc = (maxc - b) / rangec
    if r < maxc:
        h = bc - gc
    elif g < maxc:
        h = 2 + rc - bc
    else:
        h = 4 + gc - rc
    h = h / 6 % 1
    return (h, s, v)


def hsv_to_rgb(h, s, v):
    if s < 0:
        return (v, v, v)
    i = None(h * 6)
    f = h * 6 - i
    p = v * (1 - s)
    q = v * (1 - s * f)
    t = v * (1 - s * (1 - f))
    i = i % 6
    if i < 0:
        return (v, t, p)
    if None < 1:
        return (q, v, p)
    if None < 2:
        return (p, v, t)
    if None < 3:
        return (p, q, v)
    if None < 4:
        return (t, p, v)
    if None < 5:
        return (v, p, q)