Python library for working with colours
Project description
Colouration
Colouration is a Python library for working with colours. It unifies three representation of colour:
Installation
pip install colouration
Usage
Colour
from colouration import Colour
default_arguments = Colour(
obj=None,
red=None, green=None, blue=None,
hexadecimal=None,
hue=None, saturation=None, lightness=None, value=None,
min_value=0.0, max_value=1.0,
name=None, id=None, scheme=None,
weight=1.0
)
# you can use the rgb hexadecimal code to create a Colour object
red = Colour('#FF0000')
# you can enter red, green, and blue as separate values
green = Colour(red=0, green=1, blue=0)
# max value is 1 by default but other values can be used too
blue = Colour(red=0, green=0, blue=255, max_value=255)
# and you can use colour names
literal_red = Colour('red')
print(f'is red equal to literal_red? {"yes" if red == literal_red else "no"}\n')
# you can print with it
literal_red.print('by default the main colour is used for background\n')
# to use the colour as the text colour you should use the main_colour argument
red.print(string='red text\n', main_colour='text', secondary='auto') # secondary='auto' is default
# the secondary colour is white when the main colour is dark and it is black otherwise
red.print(string='the secondary colour is white when the main colour is dark and it is black otherwise.\n')
# you can choose a secondary colour
red.print(string='red on white\n', main_colour='text', secondary='white')
# you can use string or a Colour object
red.print(string='blue on red\n', secondary=Colour('blue'))
# you can darken or lighten a colour
dark_red = red.darken(ratio=0.5)
dark_red.print(string='dark red\n')
# ratio can be between 0 and 1
light_red = red.lighten(ratio=0.8)
# you can change the hue of a colour
new_colour = red.increase_hue(0.2)
new_colour.print('hue increased by 0.2\n')
# you can assign a new hue, lightness, value, red, green, or blue too
new_colour.red = 0.2
new_colour.print('setting red = 0.2 causes this.\n')
new_colour.hue = 0.8
new_colour.print('setting hue = 0.4 causes this.\n')
new_colour.value = 0.3
new_colour.print('setting value = 0.3 causes this.\n')
new_colour.lightness = 0.9
new_colour.print('setting lightness = 0.9 causes this.\n')
# you can mix colours by adding them together
yellow = green + red
yellow.print(string='mixing green and red produces this.\n')
# Colour finds the best name for itself
bluish = Colour(red=220, green=243, blue=255, max_value=255) # max_value is 1 by default
bluish.print(string=f'Colour finds the best name for itself: {bluish.name}.\n')
Scheme
Gradient
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
colouration-2020.4.28.1.tar.gz
(18.6 kB
view details)
Built Distribution
File details
Details for the file colouration-2020.4.28.1.tar.gz
.
File metadata
- Download URL: colouration-2020.4.28.1.tar.gz
- Upload date:
- Size: 18.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
d48791aa22711387aa804120bcb116f1e7b2d9f682ee23c2bbdd0c6c9a1f5fc3
|
|
MD5 |
c23ace1b3cc645472d1cba29adecbb5c
|
|
BLAKE2b-256 |
992716dd6b3fc672adbee9c19e84f4d2a29621b1f7af03e96bb8c517019d8853
|
File details
Details for the file colouration-2020.4.28.1-py3-none-any.whl
.
File metadata
- Download URL: colouration-2020.4.28.1-py3-none-any.whl
- Upload date:
- Size: 20.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
99ffa8caad213e675ee8bcef301caa724996dd2130430900ad6d168a68a30323
|
|
MD5 |
88081ce3b37e06793159e7524f71c9c0
|
|
BLAKE2b-256 |
b003e18f32c66d6d516e1490efdcf47c1e4d6f4c5e85058362acaaaad27bece8
|