Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 1.3 KB

README.rst

File metadata and controls

48 lines (34 loc) · 1.3 KB

The :mod:`colortools` defines a :cls:`Color` object that can be used to represent and manipulate colors in various contexts. It was created with the :mod:`FGAme` game engine, but it can also be used in other contexts such as arts and web applications.

Colors can be initialized from the RGB/RGBA components, in which each component is in the 0-255 range.

>>> w1 = Color(255, 255, 255)
>>> w2 = Color(255, 255, 255, 255)
>>> w1 == w2
True

The constructor also accepts color names, hex strings or hex numbers.

>>> Color('white') == Color('#FFF') == Color(0xffffff) == Color(255, 255, 255)
True

All names in CSS3.0 are accepted (see the complete list here<http://www.w3.org/TR/css3-color/#svg-color>). It is worth noting that although the G in RGB stands for green, the color with a full green value is called lime, while "green" is #008000 rather than #00FF00.

Usage and API

Color objects are immutable and behave like a tuple of 4 values.

>>> list(Color('green'))
[0, 80, 0, 255]

It also exposes several different representations of a color using the appropriate attribute.

>>> blue = Color('blue')
>>> blue.rbg
(255, 0, 0)
>>> blue.rgbf
(1.0, 0.0, 0.0)
>>> blue.rgbu
16711680

Color objects also implement a few useful transformations

>>> blue.darken(0.1)  # darken by 10%
Color(229, 0, 0)