PPL7-Icon Patrick's Programming Library Version 7.0.0 - Dokumentation
ppl7::grafix::Color Klassenreferenz

Ein Datenobjekt zum Speichern eines Farbwertes. Mehr ...

Öffentliche Methoden

 Color ()
 Konstruktor ohne Angabe von Werten. Mehr ...
 
 Color (int red, int green, int blue, int alpha=255)
 Konstruktor mit Angabe der Farbwerte. Mehr ...
 
 Color (ppluint32 rgba)
 Konstruktor mit Angabe eines Farbwertes als 32-Bit Wert. Mehr ...
 
 Color (ppluint32 rgb, int alpha)
 Konstruktor mit Angabe eines 32-Bit-Farbwertes und der Transparenz. Mehr ...
 
int alpha () const
 Transparenz-Wert auslesen. Mehr ...
 
Colorblend (const Color &background, const Color &foreground, int intensity)
 Farben überblenden. Mehr ...
 
Colorblendf (const Color &background, const Color &foreground, float intensity)
 Farben überblenden. Mehr ...
 
int blue () const
 blau-Anteil auslesen Mehr ...
 
int brightness () const
 Helligkeit der Farbe. Mehr ...
 
ppluint32 color () const
 Farbwert als 32-Bit-Wert auslesen. Mehr ...
 
int getY () const
 Farbe in das YCbCr-Farbmodell umrechnen. Mehr ...
 
int getYCb () const
 Farbe in das YCbCr-Farbmodell umrechnen. Mehr ...
 
int getYCr () const
 Farbe in das YCbCr-Farbmodell umrechnen. Mehr ...
 
int green () const
 grün-Anteil auslesen Mehr ...
 
Color grey () const
 Grauwert der Farbe. Mehr ...
 
bool match (const Color &other, int tolerance=0) const
 Farbübereinstimmung prüfen. Mehr ...
 
Color negativ () const
 
 operator pplint32 () const
 Farbwert als 32-Bit-Wert auslesen. Mehr ...
 
 operator ppluint32 () const
 Farbwert als 32-Bit-Wert auslesen. Mehr ...
 
bool operator!= (const Color &other) const
 Vergleich zweier Farben. Mehr ...
 
Coloroperator*= (float factor)
 Multiplikation der einzelnen Farbkomponenten mit einem Faktor. Mehr ...
 
Coloroperator+= (const Color &other)
 
bool operator< (const Color &other) const
 
bool operator<= (const Color &other) const
 
bool operator== (const Color &other) const
 Vergleich zweier Farben. Mehr ...
 
bool operator> (const Color &other) const
 
bool operator>= (const Color &other) const
 
int red () const
 rot-Anteil auslesen Mehr ...
 
ppluint32 rgb () const
 Farbwert als 32-Bit-Wert ohne Alpha-Kanal auslesen. Mehr ...
 
ppluint32 rgba () const
 Farbwert als 32-Bit-Wert auslesen. Mehr ...
 
void set (int red, int green, int blue, int alpha=255)
 Farbwert anhand der einzelnen Farbkomponenten setzen. Mehr ...
 
void set (const Color &other)
 
void setAlpha (int alpha)
 Transparenz-Wert setzen. Mehr ...
 
void setBlue (int blue)
 blau-Anteil setzen Mehr ...
 
void setColor (int red, int green, int blue, int alpha=255)
 Farbwert anhand der einzelnen Farbkomponenten setzen. Mehr ...
 
void setColor (ppluint32 rgba)
 Farbwert anhand eines 32-Bit-Wertes setzen. Mehr ...
 
void setColor (ppluint32 rgb, int alpha)
 Farbwert anhand eines 32-Bit-Farbwertes und der Transparenz setzen. Mehr ...
 
void setGreen (int green)
 grün-Anteil setzen Mehr ...
 
void setRed (int red)
 rot-Anteil setzen Mehr ...
 

Öffentliche, statische Methoden

static Color getBlended (const Color &background, const Color &foreground, int intensity)
 
static Color getBlendedf (const Color &background, const Color &foreground, float intensity)
 

Private Attribute

union {
   struct {
      ppluint8   a
 
      ppluint8   b
 
      ppluint8   g
 
      ppluint8   r
 
   } 
 
   ppluint32   c
 
}; 
 

Freundbeziehungen

const Color operator* (const Color &size, float factor)
 Multiplikation einer Farbe mit einem Faktor. Mehr ...
 
const Color operator* (float factor, const Color &size)
 Multiplikation einer Farbe mit einem Faktor. Mehr ...
 
const Color operator+ (const Color &color1, const Color &color2)
 

Ausführliche Beschreibung

Beschreibung:
Diese Klasse wird als Objekt zum Speichern einer Farbe verwendet, die sich aus den Komponenten Rot, Grün, Blau und optional einem Transparanz-Wert (Alpha-Wert) zusammensetzt. Der Farbwert ist 32-Bit breit, wobei jede der 4 Komponenten 8 Bit verwendet.

Beschreibung der Konstruktoren und Destruktoren

ppl7::grafix::Color::Color ( )
Beschreibung:
Mit diesem Konstruktor wird eine Instanz der Klasse erzeugt, und mit dem Farbwert für schwarz initialisiert.
ppl7::grafix::Color::Color ( int  red,
int  green,
int  blue,
int  alpha = 255 
)
Beschreibung:
Mit diesem Konstruktor wird eine Instanz der Klasse erzeugt, die mit den angegebenen Farbkomponenten initialisiert wird.
Parameter
redWert zwischen 0 und 255, der den rot-Anteil der Farbe festlegt
greenWert zwischen 0 und 255, der den grün-Anteil der Farbe festlegt
blueWert zwischen 0 und 255, der den blau-Anteil der Farbe festlegt
alphaOptionaler Wert zwischen 0 und 255, der die Transparenz der Farbe festlegt. 0 bedeutet komplett transparent, 255 komplett sichtbar.
ppl7::grafix::Color::Color ( ppluint32  rgba)
Beschreibung:
Mit diesem Konstruktor wird eine Instanz der Klasse erzeugt, die mit dem angegebenen 32-Bit-Farbwert initialisiert wird.
Parameter
rgba32-Bit Farbwert mit folgendem Aufbau:
  • das unterste Byte enthält den rot-Wert zwischen 0 und 255
  • das zweite Byte enthält den grün-Wert zwischen 0 und 255
  • Byte 3 enthält den Blau-Wert zwischen 0 und 255
  • Byte 4 den Alpha-Wert zwischen 0 und 255
ppl7::grafix::Color::Color ( ppluint32  rgb,
int  alpha 
)
Beschreibung:
Mit diesem Konstruktor wird eine Instanz der Klasse erzeugt, die mit dem angegebenen 32-Bit-Farbwert rgb und der Transparenz alpha initialisiert wird.
Parameter
rgb32-Bit Farbwert mit folgendem Aufbau:
  • das unterste Byte enthält den rot-Wert zwischen 0 und 255
  • das zweite Byte enthält den grün-Wert zwischen 0 und 255
  • Byte 3 enthält den Blau-Wert zwischen 0 und 255
alphaDer Transparenz-Wert der Farbe zwischen 0 (völlig transparent) und 255 (vollständig sichtbar).

Dokumentation der Elementfunktionen

int ppl7::grafix::Color::alpha ( ) const
Beschreibung:
Mit dieser Funktion wird der Transparenz-Wert (Alpha) der Farbe ausgelesen.
Rückgabe
alpha-Wert zwischen 0 (völlig transparent) und 255 (vollständig sichtbar)
Color & ppl7::grafix::Color::blend ( const Color background,
const Color foreground,
int  intensity 
)
Beschreibung:
Mit dieser Funktion werden die zwei Farbwerte background und foreground anhand des dritten Parameters intensity vermischt. Dabei gilt, je höher der Wert intensity, desto stärker kommt der Farbwert foreground zur Geltung.
Parameter
backgroundHintergrundfarbe
foregroundVordergrundfarbe
intensityIntensität der Vordergrundfarbe auf einer Skala von 0-255
Rückgabe
Neuer Farbwert
Color & ppl7::grafix::Color::blendf ( const Color background,
const Color foreground,
float  intensity 
)
Beschreibung:
Mit dieser Funktion werden die zwei Farbwerte background und foreground anhand des dritten Parameters intensity vermischt. Dabei gilt, je höher der Wert intensity, desto stärker kommt der Farbwert foreground zur Geltung.
Parameter
backgroundHintergrundfarbe
foregroundVordergrundfarbe
intensityIntensität der Vordergrundfarbe auf einer Skala von 0.0 bis 1.0
Rückgabe
Neuer Farbwert
int ppl7::grafix::Color::blue ( ) const
Beschreibung:
Mit dieser Funktion wird der blau-Anteil der Farbe ausgelesen.
Rückgabe
blau-Anteil zwischen 0 und 255
int ppl7::grafix::Color::brightness ( ) const
Beschreibung:
Mit dieser Funktion kann die Helligkeit des Farbwerts ausgelesen werden. Um die Helligkeit zu berechnen, werden die 3 Komponenten der Farbe rot, grün und blau unterschiedlich gewichtet. Da grün am hellsten ist, wird dieser Komponente am höchsten bewertet, gefolgt von rot und zuletzt blau. Die genaue Formel lautet: $helligkeit = (rot * 11 + grün * 16 + blau * 5)/32$. Der Alpha-Kanal (Transparenz) spielt bei der Berechnung keine Rolle.
Rückgabe
Helligkeit der Farbe auf einer Skala von 0-255
ppluint32 ppl7::grafix::Color::color ( ) const
Beschreibung:
Mit dieser Funktion kann der Farbwert als 32-Bit-Wert ausgelesen werden.
Rückgabe
32-Bit Farbwert mit folgendem Aufbau:
  • das unterste Byte enthält den rot-Wert
  • das zweite Byte enthält den grün-Wert
  • Byte 3 enthält den Blau-Wert
  • Byte 4 den Alpha-Wert
Color ppl7::grafix::Color::getBlended ( const Color background,
const Color foreground,
int  intensity 
)
static
Color ppl7::grafix::Color::getBlendedf ( const Color background,
const Color foreground,
float  intensity 
)
static
int ppl7::grafix::Color::getY ( ) const
Beschreibung:
Das YCbCr-Modell teilt die Farbinformation auf in die Grundhelligkeit Y und die zwei Farbkomponenten Cb (Blue-Yellow Chrominance) und Cr (Red-Green Chrominance). Mit Y wird hier die Helligkeitsachse aus dem CIE-Normvalenzsystem verwendet. Sie entspricht der Hellempfindlichkeit des Auges, die im grünen Spektralbereich am größten ist (V-Lambda-Kurve). Chrominance oder kurz Chroma bedeutet Buntheit im Allgemeinen und Farbigkeit in Bezug auf Helligkeit-Farbigkeits-Modelle.
Die Funktion Color::getY gibt die Grundhelligkeit zurück, Color::getYCb den Cb-Wert und Color::getYCr den Cr-Wert
Rückgabe
Grundhelligkeit
int ppl7::grafix::Color::getYCb ( ) const
Beschreibung:
Das YCbCr-Modell teilt die Farbinformation auf in die Grundhelligkeit Y und die zwei Farbkomponenten Cb (Blue-Yellow Chrominance) und Cr (Red-Green Chrominance). Mit Y wird hier die Helligkeitsachse aus dem CIE-Normvalenzsystem verwendet. Sie entspricht der Hellempfindlichkeit des Auges, die im grünen Spektralbereich am größten ist (V-Lambda-Kurve). Chrominance oder kurz Chroma bedeutet Buntheit im Allgemeinen und Farbigkeit in Bezug auf Helligkeit-Farbigkeits-Modelle.
Die Funktion Color::getY gibt die Grundhelligkeit zurück, Color::getYCb den Cb-Wert und Color::getYCr den Cr-Wert
Rückgabe
Grundhelligkeit
int ppl7::grafix::Color::getYCr ( ) const
Beschreibung:
Das YCbCr-Modell teilt die Farbinformation auf in die Grundhelligkeit Y und die zwei Farbkomponenten Cb (Blue-Yellow Chrominance) und Cr (Red-Green Chrominance). Mit Y wird hier die Helligkeitsachse aus dem CIE-Normvalenzsystem verwendet. Sie entspricht der Hellempfindlichkeit des Auges, die im grünen Spektralbereich am größten ist (V-Lambda-Kurve). Chrominance oder kurz Chroma bedeutet Buntheit im Allgemeinen und Farbigkeit in Bezug auf Helligkeit-Farbigkeits-Modelle.
Die Funktion Color::getY gibt die Grundhelligkeit zurück, Color::getYCb den Cb-Wert und Color::getYCr den Cr-Wert
Rückgabe
Grundhelligkeit
int ppl7::grafix::Color::green ( ) const
Beschreibung:
Mit dieser Funktion wird der grün-Anteil der Farbe ausgelesen.
Rückgabe
grün-Anteil zwischen 0 und 255
Color ppl7::grafix::Color::grey ( ) const
Beschreibung:
Diese Funktion ist identisch zu Color::brightness, nur wird hier nicht der Helligkeitswert zurückgegeben, sondern eine neue Color-Klasse, deren Farbkomponenten jeweils mit dem gleichen Helligkeitswert initialisiert werden. Der Transparenz-Wert wird übernommen.
Rückgabe
Grau-Farbe
bool ppl7::grafix::Color::match ( const Color other,
int  tolerance = 0 
) const
Beschreibung:
Diese Funktion prüft, ob die Farbe other mit dieser übereinstimmt, wobei jeder der drei Farbwerte (rot, grün, blau) eine maximale Abweichung von tolerance haben darf. Der Alpha-Kanal wird dabei nicht berücksichtigt.
Parameter
otherDer zu vergleichende Farbwert
toleranceEin optionaler Parameter, der die maximale Toleranz auf einer Skala von 0-255 angibt. Der Default ist 0
Rückgabe
Stimmen die Farbwerte überein, liefert die Funktion true zurück, andernfalls false.
Color ppl7::grafix::Color::negativ ( ) const
ppl7::grafix::Color::operator pplint32 ( ) const
Beschreibung:
Mit diesem Operator kann der Farbwert der Klasse als 32-Bit-Wert ausgelesen werden.
Rückgabe
32-Bit Farbwert mit folgendem Aufbau:
  • das unterste Byte enthält den rot-Wert
  • das zweite Byte enthält den grün-Wert
  • Byte 3 enthält den Blau-Wert
  • Byte 4 den Alpha-Wert
ppl7::grafix::Color::operator ppluint32 ( ) const
Beschreibung:
Mit diesem Operator kann der Farbwert der Klasse als 32-Bit-Wert ausgelesen werden.
Rückgabe
32-Bit Farbwert mit folgendem Aufbau:
  • das unterste Byte enthält den rot-Wert
  • das zweite Byte enthält den grün-Wert
  • Byte 3 enthält den Blau-Wert
  • Byte 4 den Alpha-Wert
bool ppl7::grafix::Color::operator!= ( const Color other) const
Beschreibung:
Mit den Operatoren == und != können zwei Farbwerte miteinander verglichen werden.
Parameter
otherAnderer Farbwert
Rückgabe
Bei Verwendung des Operators == wird true zurückgegeben, wenn beide Farbwerte identisch sind und false, wenn dies nicht der Fall ist. Bei Verwendung des Operators != wird true zurückgegeben, wenn die Farbwerte unterschiedlich sind und false, wenn sie identisch sind.
Color & ppl7::grafix::Color::operator*= ( float  factor)
Beschreibung:
Mit diesem Operator werden die einzelnen Farbkomponenten rot, grün und blau mit dem angegebenen Faktor multipliziert. Falls das Ergebnis dabei kleiner 0 wird, wird der Wert auf 0 korrigiert, Wert größer 255 werden zu 255.
Parameter
factorDer Multiplikator als float-Wert
Rückgabe
Neuer Farbwert
Color & ppl7::grafix::Color::operator+= ( const Color other)
bool ppl7::grafix::Color::operator< ( const Color other) const
bool ppl7::grafix::Color::operator<= ( const Color other) const
bool ppl7::grafix::Color::operator== ( const Color other) const
Beschreibung:
Mit den Operatoren == und != können zwei Farbwerte miteinander verglichen werden.
Parameter
otherAnderer Farbwert
Rückgabe
Bei Verwendung des Operators == wird true zurückgegeben, wenn beide Farbwerte identisch sind und false, wenn dies nicht der Fall ist. Bei Verwendung des Operators != wird true zurückgegeben, wenn die Farbwerte unterschiedlich sind und false, wenn sie identisch sind.
bool ppl7::grafix::Color::operator> ( const Color other) const
bool ppl7::grafix::Color::operator>= ( const Color other) const
int ppl7::grafix::Color::red ( ) const
Beschreibung:
Mit dieser Funktion wird der rot-Anteil der Farbe ausgelesen.
Rückgabe
rot-Anteil zwischen 0 und 255
ppluint32 ppl7::grafix::Color::rgb ( ) const
Beschreibung:
Mit dieser Funktion kann der Farbwert als 32-Bit-Wert ohne den Transparenz-Wert ausgelesen werden.
Rückgabe
32-Bit Farbwert mit folgendem Aufbau:
  • das unterste Byte enthält den rot-Wert
  • das zweite Byte enthält den grün-Wert
  • Byte 3 enthält den Blau-Wert
  • Byte 4 ist immer 0
ppluint32 ppl7::grafix::Color::rgba ( ) const
Beschreibung:
Mit dieser Funktion kann der Farbwert als 32-Bit-Wert ausgelesen werden.
Rückgabe
32-Bit Farbwert mit folgendem Aufbau:
  • das unterste Byte enthält den rot-Wert
  • das zweite Byte enthält den grün-Wert
  • Byte 3 enthält den Blau-Wert
  • Byte 4 den Alpha-Wert
void ppl7::grafix::Color::set ( int  red,
int  green,
int  blue,
int  alpha = 255 
)
Beschreibung:
Mit dieser Funktion wird die Farbe anhand ihrer einzelnen Komponenten gesetzt.
Parameter
redWert zwischen 0 und 255, der den rot-Anteil der Farbe festlegt
greenWert zwischen 0 und 255, der den grün-Anteil der Farbe festlegt
blueWert zwischen 0 und 255, der den blau-Anteil der Farbe festlegt
alphaOptionaler Wert zwischen 0 und 255, der die Transparenz der Farbe festlegt. 0 bedeutet komplett transparent, 255 komplett sichtbar. Wird der Parameter nicht angegeben, wird automatisch 255 gesetzt.
void ppl7::grafix::Color::set ( const Color other)
void ppl7::grafix::Color::setAlpha ( int  alpha)
Beschreibung:
Mit dieser Funktion wird der Transparenz-Wert (Alpha) der Farbe gesetzt.
Parameter
redTransparenz-Wert zwischen 0 (völlig transparent) und 255 (vollständig sichtbar). Ein Wert kleiner 0 wird zu 0, ein Wert größer 255 wird zu 255.
void ppl7::grafix::Color::setBlue ( int  blue)
Beschreibung:
Mit dieser Funktion wird der blau-Anteil der Farbe gesetzt.
Parameter
redblau-Anteil zwischen 0 und 255. Ein Wert kleiner 0 wird zu 0, ein Wert größer 255 wird zu 255.
void ppl7::grafix::Color::setColor ( int  red,
int  green,
int  blue,
int  alpha = 255 
)
Beschreibung:
Mit dieser Funktion wird die Farbe anhand ihrer einzelnen Komponenten gesetzt.
Parameter
redWert zwischen 0 und 255, der den rot-Anteil der Farbe festlegt
greenWert zwischen 0 und 255, der den grün-Anteil der Farbe festlegt
blueWert zwischen 0 und 255, der den blau-Anteil der Farbe festlegt
alphaOptionaler Wert zwischen 0 und 255, der die Transparenz der Farbe festlegt. 0 bedeutet komplett transparent, 255 komplett sichtbar. Wird der Parameter nicht angegeben, wird automatisch 255 gesetzt.
void ppl7::grafix::Color::setColor ( ppluint32  rgba)
Beschreibung:
Mit dieser Funktgion wird die Farbe anhand des angegebenen 32-Bit-Farbwertes gesetzt.
Parameter
rgba32-Bit Farbwert mit folgendem Aufbau:
  • das unterste Byte enthält den rot-Wert
  • das zweite Byte enthält den grün-Wert
  • Byte 3 enthält den Blau-Wert
  • Byte 4 den Alpha-Wert
void ppl7::grafix::Color::setColor ( ppluint32  rgb,
int  alpha 
)
Beschreibung:
Mit dieser Funktion wird die Farbe anhand des angegebenen 32-Bit-Farbwerts rgb und der Transparenz alpha gesetzt.
Parameter
rgb32-Bit Farbwert mit folgendem Aufbau:
  • das unterste Byte enthält den rot-Wert zwischen 0 und 255
  • das zweite Byte enthält den grün-Wert zwischen 0 und 255
  • Byte 3 enthält den Blau-Wert zwischen 0 und 255
alphaDer Transparenz-Wert der Farbe zwischen 0 (völlig transparent) und 255 (vollständig sichtbar).
void ppl7::grafix::Color::setGreen ( int  green)
Beschreibung:
Mit dieser Funktion wird der grün-Anteil der Farbe gesetzt.
Parameter
redgrün-Anteil zwischen 0 und 255. Ein Wert kleiner 0 wird zu 0, ein Wert größer 255 wird zu 255.
void ppl7::grafix::Color::setRed ( int  red)
Beschreibung:
Mit dieser Funktion wird der rot-Anteil der Farbe gesetzt.
Parameter
redrot-Anteil zwischen 0 und 255. Ein Wert kleiner 0 wird zu 0, ein Wert größer 255 wird zu 255.

Freundbeziehungen und Funktionsdokumentation

const Color operator* ( const Color size,
float  factor 
)
friend
Beschreibung:
Mit diesem Operator wird die angegebene Farbe color mit dem Faktor factor multipliziert und das Ergebnis als neuer Farbwert zurückgegeben. Ein Wert größer 1.0 bewirkt, dass die Farbe heller wird, bei Werten kleiner 1,0 wird die Farbe dunkler.

Ist das Ergebnis der Multiplikation eines Farbwertes größer 255, wird er auf 255 gesetzt. Ein negativer Faktor wird zu 0.

Parameter
colorFarbwert
factorMultiplikations-Faktor
Rückgabe
Neuer Farbwert
const Color operator* ( float  factor,
const Color size 
)
friend
Beschreibung:
Mit diesem Operator wird die angegebene Farbe color mit dem Faktor factor multipliziert und das Ergebnis als neuer Farbwert zurückgegeben. Ein Wert größer 1.0 bewirkt, dass die Farbe heller wird, bei Werten kleiner 1,0 wird die Farbe dunkler.

Ist das Ergebnis der Multiplikation eines Farbwertes größer 255, wird er auf 255 gesetzt. Ein negativer Faktor wird zu 0.

Parameter
factorMultiplikations-Faktor
colorFarbwert
Rückgabe
Neuer Farbwert
const Color operator+ ( const Color color1,
const Color color2 
)
friend

Dokumentation der Datenelemente

union { ... }
ppluint8 ppl7::grafix::Color::a
ppluint8 ppl7::grafix::Color::b
ppl7::grafix::Color::c
ppluint8 ppl7::grafix::Color::g
ppluint8 ppl7::grafix::Color::r

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: