Ejemplo n.º 1
0
 def test_rgb(self):
     self.assertEqual(Hex('#f00'), Hex('#ff0000'))
     self.assertEqual(Hex('#ff0000'), Rgb(255, 0, 0))
     self.assertEqual(Rgb(255, 0, 0), Rgb(Pr(100), Pr(0), Pr(0)))
     self.assertEqual(Rgb(Pr(100), Pr(0), Pr(0)), Hex('#f00'))
     self.assertEqual(Rgb(255, 0, 0), Rgba(255, 0, 0, 1))
     self.assertEqual(Rgb(Pr(100), Pr(0), Pr(0)), Rgba(255, 0, 0, 1))
Ejemplo n.º 2
0
def mix(color, color1, weight=Pr(50)):
    """Mixes two colors together"""

    p = weight.value / 100.0
    w = p * 2 - 1
    a = color.a - color1.a

    w1 = ((w if w * a == -1 else (w + a) / (1 + w * a)) + 1) / 2.0
    w2 = 1 - w1

    r = color.r * w1 + color1.r * w2
    g = color.g * w1 + color1.g * w2
    b = color.b * w1 + color1.b * w2

    a = color.a * p + color1.a * (1 - p)

    return Color(r, g, b, a)
Ejemplo n.º 3
0
def spinin(color, value=Pr(10)):
    """Changes the hue of a color."""
    color = Color(color)
    color.h += value
    return color
Ejemplo n.º 4
0
def percentage(value):
    """Converts a unitless number to a percentage."""
    return Pr(value)
Ejemplo n.º 5
0
def fadeout(color, value=Pr(10)):
    """Add or change an alpha layer for any color value."""
    color = Color(color)
    color.a -= value
    return color
Ejemplo n.º 6
0
def desaturate(color, value=Pr(10)):
    """Makes a color less saturated."""
    color = Color(color)
    color.s -= value
    return color
Ejemplo n.º 7
0
def saturate(color, value=Pr(10)):
    """Makes a color more saturated."""
    color = Color(color)
    color.s += value
    return color
Ejemplo n.º 8
0
def darken(color, value=Pr(10)):
    """Makes a color darker."""
    color = Color(color)
    color.l -= value
    return color
Ejemplo n.º 9
0
def lighten(color, value=Pr(10)):
    """Makes a color lighten."""
    color = Color(color)
    color.l += value
    return color
Ejemplo n.º 10
0
 def test_hls(self):
     self.assertEqual(Hsl(120, Pr(100), Pr(50)),
                      Hsla(120, Pr(100), Pr(50), 1))