Chromify is a Python library that provides functionalities for color manipulation and conversion. It allows you to convert between different color representations such as RGB, HEX, HSL, CMYK, and HSV, and perform various color operations.
You can install Chromify using pip: pip install chromify
The Color
class represents a color and provides methods for color conversion and manipulation.
You can create a Color
object in the following ways:
from chromify import Color
# Create a Color object from a CSS representation
color1 = Color("#FF0000")
color2 = Color("rgb(255, 0, 0)")
color3 = Color("hsl(0, 100%, 50%)")
# Create a Color object from RGB values
color4 = Color(255, 0, 0)
# Create a Color object from another Color object
color5 = Color(color1)
You can convert a Color object to different representations using the following methods:
# Convert to HEX representation
hex_value = color1.to_hex() # Returns "#FF0000"
# Convert to HSL representation
hsl_value = color1.to_hsl() # Returns "hsl(0, 100%, 50%)"
# Convert to CMYK representation
cmyk_value = color1.to_cmyk() # Returns "cmyk(0%, 100%, 100%, 0%)"
# Convert to HSV representation
hsv_value = color1.to_hsv() # Returns "hsv(0, 100%, 100%)"
# Convert to CSS representation (RGB)
css_value = color1.to_css() # Returns "rgb(255, 0, 0)"
The Color class also provides methods for color manipulation, such as inverting the color, calculating brightness, generating a color palette, among others.
# Invert the color
inverted_color = color1.invert()
# Calculate the brightness of the color
brightness = color1.brightness()
# Generate a color palette
palette = color1.generate_palette(5)
The Converter
class is a subclass of Color and adds additional functionalities for converting color values between different representations.
You can create a Converter
object in the same ways as a Color object:
from chromify import Converter
# Create a Converter object from a CSS representation
converter1 = Converter("#FF0000")
converter2 = Converter("rgb(255, 0, 0)")
converter3 = Converter("hsl(0, 100%, 50%)")
# Create a Converter object from RGB values
converter4 = Converter(255, 0, 0)
# Create a Converter object from another Color object
converter5 = Converter(color1)
The Converter
class provides additional methods to convert color values between different representations. You can use the following methods:
# Convert to HEX representation
hex_value = converter1.to_hex() # Returns "#FF0000"
# Convert to HSL representation
hsl_value = converter1.to_hsl() # Returns "hsl(0, 100%, 50%)"
# Convert to CMYK representation
cmyk_value = converter1.to_cmyk() # Returns "cmyk(0%, 100%, 100%, 0%)"
# Convert to HSV representation
hsv_value = converter1.to_hsv() # Returns "hsv(0, 100%, 100%)"
# Convert to CSS representation (RGB)
css_value = converter1.to_css() # Returns "rgb(255, 0, 0)"
The gradient()
function allow you to easily create Foreground and Background gradient.
It returns a string with the text colored.
You can use the following method:
from Chromify import *
init() # Make sure that the colors can be displayed correctly
# Creating a color
myStartingColor = Color("#FF0000")
myEndingColor = Color(0, 255, 0)
print(gradient(myStartingColor, myEndingColor, "The Text I want to apply the gradient to", background=False)) #set background to True if you want to color the background instead of the foreground (False is the default value)
The steps function return an array of the length of your election with colors ordered from 0 to the length making a gradient. You can use this method:
from Chromify import *
init() # Make sure that the colors can be displayed correctly
# Creating a color
myStartingColor = Color("#FF0000")
myEndingColor = Color(0, 255, 0)
arrayLength = 6
myArray = steps(myStartingColor, myEndingColor, arrayLength, style="color")
# -> [Color(255, 0, 0), Color(212, 42, 0), Color(170, 85, 0), Color(127, 127, 0), Color(85, 170, 0), Color(42, 212, 0)]
#print the gradient vertically
myString = f"""
{myArray[0].FORE}#############################
{myArray[1].fore()}#############################
{color(myArray[2], background=False)}#############################
{color(myArray[3].to_hex)}#############################
{myArray[4].FORE}#############################
{myArray[5].FORE}#############################
"""
print(myString)
"rgb"
: Returns the array with rgb touples that are compatible with Color class (Default).
"fore_esc"
: Returns the array with escape strings to color the foreground.
"back_esc"
: Returns the array with escape strings to color the background.
"color"
: Returns the array with Color objects that are compatible with Color class (Default if an invalid value is given).
MIT License
Copyright (c) 2023 Plaraje
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software").