A python collection of classes and functions to convert between multiple color models, generate palettes, and more.
Project description
PyColor
A python collection of classes and functions to convert between rgb, hsv, hsl, xyz, ycc, cmyk and hex color formats and generate palettes from said colors.
- RGB (red, green, blue)
- HSV (hue, saturation, value)
- HSL (hue, saturation, lightness)
- XYZ (x, y, z)
- YCC (y, cb, cr)
- CMYK (cyan, magenta, yellow, key)
- HEX (hexidecimal)
Installation
With git
GitHub:
git clone https://github.com/IrtsaDevelopment/PyColor.git
or with pip
PyPi:
pip install idev-pycolor
Usage
To import, simply put:
from PyColor.Colors import *
from PyColor.Functions import *
from PyColor.Palettes import GeneratePalette
Then, later on you may utilize:
rgb = RGB(100, 100, 100)
hsv = HSV(200, 100, 100)
hsl = HSL(200, 100, 100)
xyz = XYZ(10.0, 10.0, 80.0)
ycc = YCC(100.0, 150.0, 80.0)
cmyk = CMYK(100, 100, 100, 100)
hexidecimal = HEX("#121212")
rgb.rgb
# Returns a tuple of the rgb values from rgb.
rgb.hsv
# Returns a tuple of the hsv values from rgb.
rgb.hsl
# Retuns a tuple of the hsl values from rgb.
rgb.xyz
# Returns a tuple of the xyz values from rgb.
rgb.ycc
# Returns a tuple of the ycc values from rgb.
rgb.cmyk
# Returns a tuple of the cmyk values from rgb.
rgb.hexidecimal
# Returns a string of the hexidecimal value from rgb.
rgb.percentForm
# Returns a tuple of the rgb values in a decimal percent form (0-1).
rgb.grayscale
# Returns a grayscaled version of the RGB class.
rgb.greyscale
# Is .grayscale
hsv.rgb
# Returns a tuple of the rgb values from hsv.
hsv.hsv
# Returns a tuple of the hsv values from hsv.
hsv.hsl
# Retuns a tuple of the hsl values from hsv.
hsv.xyz
# Returns a tuple of the xyz values from hsv.
hsv.ycc
# Returns a tuple of the ycc values from hsv.
hsv.cmyk
# Returns a tuple of the cmyk values from hsv.
hsv.hexidecimal
# Returns a string of the hexidecimal value from hsv.
hsv.percentForm
# Returns a tuple of the hsv values in a decimal percent form (0-1).
hsv.grayscale
# Returns a grayscaled version of the HSV class.
hsv.greyscale
# Is .grayscale
hsl.rgb
# Returns a tuple of the rgb values from hsl.
hsl.hsv
# Returns a tuple of the hsv values from hsl.
hsl.hsl
# Retuns a tuple of the hsl values from hsl.
hsl.xyz
# Returns a tuple of the xyz values from hsl.
hsl.ycc
# Returns a tuple of the ycc values from hsl.
hsl.cmyk
# Returns a tuple of the cmyk values from hsl.
hsl.hexidecimal
# Returns a string of the hexidecimal value from hsl.
hsl.percentForm
# Returns a tuple of the hsl values in a decimal percent form (0-1).
hsl.grayscale
# Returns a grayscaled version of the HSL class.
hsl.greyscale
# Is .grayscale
xyz.rgb
# Returns a tuple of the rgb values from xyz.
xyz.hsv
# Returns a tuple of the hsv values from xyz.
xyz.hsl
# Retuns a tuple of the hsl values from xyz.
xyz.xyz
# Returns a tuple of the xyz values from xyz.
xyz.ycc
# Returns a tuple of the ycc values from xyz.
xyz.cmyk
# Returns a tuple of the cmyk values from xyz.
xyz.hexidecimal
# Returns a string of the hexidecimal value from xyz.
xyz.percentForm
# Returns a tuple of the xyz values in a decimal percent form (0-1).
xyz.grayscale
# Returns a grayscaled version of the XYZ class.
xyz.greyscale
# Is .grayscale
ycc.rgb
# Returns a tuple of the rgb values from ycc.
ycc.hsv
# Returns a tuple of the hsv values from ycc.
ycc.hsl
# Retuns a tuple of the hsl values from ycc.
ycc.xyz
# Returns a tuple of the xyz values from ycc.
ycc.ycc
# Returns a tuple of the ycc values from ycc.
ycc.cmyk
# Returns a tuple of the cmyk values from ycc.
ycc.hexidecimal
# Returns a string of the hexidecimal value from ycc.
ycc.percentForm
# Returns a tuple of the ycc values in a decimal percent form (0-1).
ycc.grayscale
# Returns a grayscaled version of the YCC class.
ycc.greyscale
# Is .grayscale
cmyk.rgb
# Returns a tuple of the rgb values from cmyk.
cmyk.hsv
# Returns a tuple of the hsv values from cmyk.
cmyk.hsl
# Retuns a tuple of the hsl values from cmyk.
cmyk.xyz
# Returns a tuple of the xyz values from cmyk.
cmyk.ycc
# Returns a tuple of the ycc values from cmyk.
cmyk.cmyk
# Returns a tuple of the cmyk values from cmyk.
cmyk.hexidecimal
# Returns a string of the hexidecimal value from cmyk.
cmyk.percentForm
# Returns a tuple of the cmyk values in a decimal percent form (0-1).
cmyk.grayscale
# Returns a grayscaled version of the CMYK class.
cmyk.greyscale
# Is .grayscale
hexidecimal.rgb
# Returns a tuple of the rgb values from hexidecimal.
hexidecimal.hsv
# Returns a tuple of the hsv values from hexidecimal.
hexidecimal.hsl
# Retuns a tuple of the hsl values from hexidecimal.
hexidecimal.xyz
# Returns a tuple of the xyz values from hexidecimal.
hexidecimal.ycc
# Returns a tuple of the ycc values from hexidecimal.
hexidecimal.cmyk
# Returns a tuple of the cmyk values from hexidecimal.
hexidecimal.hexidecimal
# Returns a string of the hexidecimal value from hexidecimal.
hexidecimal.percentForm
# Returns a decimal percent form (0-1) of the hexidecimal value.
hexidecimal.grayscale
# Returns a grayscaled version of the HEX class.
hexidecimal.greyscale
# Is .grayscale
print(rgb)
# Will print off a string representation of the rgb values.
print(hsv)
# Will print off a string representation of the hsv values.
print(hsl)
# Will print off a string representation of the hsl values.
print(xyz)
# Will print off a string representation of the xyz values.
print(ycc)
# Will print off a string representation of the ycc values.
print(cmyk)
# Will print off a string representation of the cmyk values.
print(hexidecimal)
# Will print off a string representation of the hexidecimal value
GeneratePalette(RGB(100, 100, 100), 'triad')
# Will generate a palette in the form of a list of colors in the same type of class given using the scheme provided.
Interpolate([RGB(100, 100, 100), RGB(150, 150, 150)])
# Will interpolate colors that should go in between the ones given and return as a list of RGB objects.
InterpolateFormat([HSV(320, 50, 100), HSV(150, 100, 60)])
# Will interpolate colors that should go in between the ones given and return a list of color objects similar to the provided ones.
Code Examples
from PyColors.Colors import *
color = RGB(120, 140, 180)
print("The HSV values for the RGB values of " + str(color.rgb) + " are " + str(color.hsv))
from PyColors.Colors import *
from PyColors.Palettes import GeneratePalette
mainColor = HSV(320, 50, 100)
Palette = GeneratePalette(mainColor, "splitcomplimentary")
print("Palette: ")
for color in Palette: print(color)
from random import randint
from PyColors.Colors import *
Colors = [RGB(randint(0, 255), randint(0, 255), randint(0, 255)) for i in range(10)]
print("Random color RGB values:")
for color in Colors: print(color)
Additional Notes
The following are the currently supports schemes for the GeneratePalette
function:
- monochromatic
- analogous
- complimentary
- splitcomplimentary
- tetrad
- triad
- random
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
idev_pycolor-1.1.1.tar.gz
(11.8 kB
view details)
Built Distribution
File details
Details for the file idev_pycolor-1.1.1.tar.gz
.
File metadata
- Download URL: idev_pycolor-1.1.1.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15177cb8fbb98ae97ede6340fddbb650a24cbc82ae1d12e21676fbda7018a4a6 |
|
MD5 | 6f14de42c42590888b03e9c8dcade91b |
|
BLAKE2b-256 | db9d63e770cc62c41c96dd6c5cf51c8ab97e6dec48f311247c39026721f79777 |
File details
Details for the file idev_pycolor-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: idev_pycolor-1.1.1-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43b0e8859b9a65f7a80b121863349ef26d8fb0dfb44c01ff57ed4e640730909f |
|
MD5 | 98f3b34191275247aa7035c1c2eb73b3 |
|
BLAKE2b-256 | dda36cf302e3e3ce285afc0728bd5b74d7307cfc5df9197cb611ea0244004a28 |