PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
ppl6::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 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 ...
 
 operator pplint32 () const
 Farbwert als 32-Bit-Wert auslesen. Mehr ...
 
 operator ppluint32 () const
 Farbwert als 32-Bit-Wert auslesen. Mehr ...
 
Coloroperator*= (float factor)
 Multiplikation der einzelnen Farbkomponenten mit einem Faktor. Mehr ...
 
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 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 ...
 

Private Methoden

int Clamp (int value)
 Zurechtschneiden von Farbwerten. Mehr ...
 

Private Attribute

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

Freundbeziehungen

bool operator!= (const Color &c1, const Color &c2)
 Vergleich zweier Farben. Mehr ...
 
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 ...
 
bool operator== (const Color &c1, const Color &c2)
 Farbwert als 32-Bit-Wert auslesen. Mehr ...
 

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

ppl6::grafix::Color::Color ( )
Beschreibung:
Mit diesem Konstruktor wird eine Instanz der Klasse erzeugt, und mit dem Farbwert für schwarz initialisiert.
ppl6::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.
ppl6::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
ppl6::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 ppl6::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 & ppl6::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 & ppl6::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 ppl6::grafix::Color::blue ( ) const
Beschreibung:
Mit dieser Funktion wird der blau-Anteil der Farbe ausgelesen.
Rückgabe
blau-Anteil zwischen 0 und 255
int ppl6::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
int ppl6::grafix::Color::Clamp ( int  value)
private
Beschreibung:
Diese interne Funktion wird verwendet, um übergebene Farbparameter auf Werte zwischen 0 und 255 zu begrenzen. Ein Wert kleiner 0 wird durch 0 ersetzt, Werte größer 255 werden zu 255.
Parameter
valueDer zu normalisierende Wert
Rückgabe
Ein normalisierter Wert zwischen 0 und 255
ppluint32 ppl6::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
int ppl6::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 ppl6::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 ppl6::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.
ppl6::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
ppl6::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
Color & ppl6::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
int ppl6::grafix::Color::red ( ) const
Beschreibung:
Mit dieser Funktion wird der rot-Anteil der Farbe ausgelesen.
Rückgabe
rot-Anteil zwischen 0 und 255
ppluint32 ppl6::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 ppl6::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 ppl6::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 ppl6::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 ppl6::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 ppl6::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 ppl6::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 ppl6::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 ppl6::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

bool operator!= ( const Color c1,
const Color c2 
)
friend
Beschreibung:
Mit den Operatoren == und != können zwei Farbwerte miteinander verglichen werden.
Parameter
c1Erster Farbwert
c2Zweiter 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.
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
bool operator== ( const Color c1,
const Color c2 
)
friend
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

Dokumentation der Datenelemente

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

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