Source code for pytamaro.de.color

"""
Der Typ `Farbe`, Funktionen, die Farben erzeugen
und Konstanten für wichtige Farben.
"""

from __future__ import annotations

from pytamaro.color import Color
from pytamaro.color_functions import rgb_color, hsl_color, hsv_color

Farbe = Color
"""
Repräsentiert eine Farbe.
Eine Farbe hat auch eine gewisse Opazität,
von komplett durchsichtig (wie die Farbe `transparent`),
bis komplett undurchsichtig (wie die Farbe `rot`).
"""


[docs]def rgb_farbe(rot: int, gruen: int, blau: int, opazitaet: float = 1.0) -> Farbe: """ Erzeugt eine Farbe mit den gegebenen Anteilen Rot (R), Grün (G) und Blau (B) und der gegebenen Opazität (Undurchsichtigkeit, alpha, A). .. figure:: https://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/RGBCube_a.svg/524px-RGBCube_a.svg.png :height: 120px :align: center `RGB Würfel (SharkD via Wikimedia Commons) <https://commons.wikimedia.org/wiki/File:RGBCube_a.svg>`_ :param rot: der rote Farbanteil [0-255] :param gruen: der grüne Farbanteil [0-255] :param blau: der blaue Farbanteil [0-255] :param opazitaet: die Undurchsichtigkeit (alpha), wobei 0 komplett durchsichtig und 1 komplett undurchsichtig entspricht. Standardmäßig sind alle Farben vollständig undurchsichtig. :returns: eine Farbe mit den gegebenen RGBA-Komponenten """ return rgb_color(rot, gruen, blau, opazitaet)
[docs]def hsv_farbe(farbton: float, saettigung: float, hellwert: float, opazitaet: float = 1.0) -> Farbe: """ Erzeugt eine Farbe mit dem gegebenen Farbton (H), der Sättigung (S), dem Hellwert (V) und der Opazität (Undurchsichtigkeit, alpha, A). .. figure:: https://upload.wikimedia.org/wikipedia/commons/4/4e/HSV_color_solid_cylinder.png :height: 120px :align: center `HSV Zylinder (SharkD via Wikimedia Commons) <https://commons.wikimedia.org/wiki/File:HSV_color_solid_cylinder.png>`_ :param farbton: der Farbton (hue) [0-360] als Farbwinkel, in Grad, auf dem Farbkreis (0 für Rot, 120 für Grün, 240 für Blau) :param saettigung: Farbsättigung (saturation) [0-1] (0 = Grau, 0.5 = wenig gesättigte Farbe, 1 = gesättigte, reine Farbe) :param hellwert: Hellwert (value) der Farbe [0-1] (0 = dunkel, 1 = hell) :param opazitaet: die Undurchsichtigkeit (alpha), wobei 0 komplett durchsichtig und 1 komplett undurchsichtig entspricht. Standardmäßig sind alle Farben vollständig undurchsichtig. :returns: eine Farbe mit den gegebenen HSVA-Komponenten """ return hsv_color(farbton, saettigung, hellwert, opazitaet)
[docs]def hsl_farbe(farbton: float, saettigung: float, helligkeit: float, opazitaet: float = 1.0) -> Farbe: """ Erzeugt eine Farbe mit dem gegebenen Farbton (H), der Sättigung (S), dem Helligkeit (L) und der Opazität (Undurchsichtigkeit, alpha, A). .. figure:: https://upload.wikimedia.org/wikipedia/commons/3/35/HSL_color_solid_cylinder.png :height: 120px :align: center `HSL Zylinder: SharkD via Wikimedia Commons <https://commons.wikimedia.org/wiki/File:HSL_color_solid_cylinder.png>`_ :param farbton: der Farbton (hue) [0-360] als Farbwinkel, in Grad, auf dem Farbkreis (0 für Rot, 120 für Grün, 240 für Blau) :param saettigung: Farbsättigung (saturation) [0-1] (0 = Grau, 0.5 = wenig gesättigte Farbe, 1 = gesättigte, reine Farbe) :param helligkeit: der Anteil Schwarz oder Weiss [0-1]. (0 = Schwarz, 0.5 = weder abgedunkelt noch aufgehellt, 1 = Weiss) :param opazitaet: die Undurchsichtigkeit (alpha), wobei 0 komplett durchsichtig und 1 komplett undurchsichtig entspricht. Standardmäßig sind alle Farben vollständig undurchsichtig. :returns: eine Farbe mit den gegebenen HSLA-Komponenten """ return hsl_color(farbton, saettigung, helligkeit, opazitaet)