Sonderfarben#
Einführung#
Die Klasse color dient zur Definition und Modifizierung von Farben mit dem IQ-Brain (1. Generation). Farben können mithilfe von RGB-Werten, hexadezimalen Farbcodes, HSV-Werten oder vordefinierten Farbkonstanten erstellt werden.
Klassenkonstruktoren#
1 — Erzeugt ein
colorObjekt ohne zugewiesene Farbe.color();
2 — Erzeugt ein
colorObjekt aus einem Hexadezimal- oder Ganzzahlwert.color( int value );
3 — Erzeugt ein
colorObjekt aus RGB-Werten.color( uint8_t r, uint8_t g, uint8_t b );
Klassendestruktor#
Zerstört das Objekt mit der Farbe color und gibt die zugehörigen Ressourcen frei.
~color();
Parameter#
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der Farbwert kann entweder eine hexadezimale RGB-Ganzzahl (z. B. |
|
|
Eine ganze Zahl von 0 bis 255, die die Rotkomponente darstellt. |
|
|
Eine ganze Zahl von 0 bis 255, die die grüne Komponente darstellt. |
|
|
Eine ganze Zahl von 0 bis 255, die die blaue Komponente darstellt. |
Anmerkungen#
The following predefined color constants are supported:
blackblueblue_greenblue_violetcyangreenorangepurpleredred_orangered_violettransparentvioletwhiteyellowyellow_greenyellow_orange
Beispiel#
// Create the color yellow using a hexadecimal value
color myYellow = color(0xFFF700);
// Create a color using RGB values
color myBlue = color(0, 100, 255);
// Create a color using a predefined constant
color myRed = color(red);
Mitgliedsfunktionen#
Die Klasse color umfasst die folgenden Memberfunktionen:
rgb— Aktualisiert die Farbe anhand der RGB-Werte.hsv— Aktualisiert die Farbe anhand der HSV-Werte.web— Aktualisiert die Farbe mithilfe einer Web-Hex-Farbzeichenfolge.
Bevor Sie eine der Memberfunktionen color aufrufen, muss eine Instanz color erstellt werden, wie unten gezeigt:
// Create a color using RGB values
color brainColor = color(255, 128, 0);
rgb#
Aktualisiert die Farbe eines vorhandenen color Objekts mithilfe von RGB-Werten.
1 — Aktualisiert ein Farbobjekt mit einem gepackten RGB-Wert.
uint32_t rgb( uint32_t value );
Parameters2 — Aktualisiert ein Farbobjekt mit separaten RGB-Werten.
uint32_t rgb( uint8_t r, uint8_t g, uint8_t b );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein gepackter RGB-Wert, der alle drei Farbkomponenten enthält. |
|
|
Eine ganze Zahl von 0 bis 255, die den Rotanteil der Farbe darstellt. |
|
|
Eine ganze Zahl von 0 bis 255, die den Grünanteil der Farbe darstellt. |
|
|
Eine ganze Zahl von 0 bis 255, die den Blauanteil der Farbe darstellt. |
Gibt einen uint32_t zurück, der den gepackten RGB-Wert der aktualisierten Farbe darstellt.
// Drive until a teal object is found
color brainColor = color(50, 200, 180);
Drivetrain.drive(forward);
while (true) {
if (Color1.detects(brainColor)) {
Drivetrain.stop();
break;
}
wait(0.5, seconds);
}
hsv#
Aktualisiert die Farbe eines vorhandenen color Objekts unter Verwendung von Farbton-, Sättigungs- und Helligkeitswerten.
color& hsv(
uint32_t hue,
double sat,
double value );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine ganze Zahl von 0 bis 360, die den Farbton angibt. |
|
|
Ein Doppelwert von 0,0 bis 1,0, der die Farbsättigung angibt. |
|
|
Ein Wert zwischen 0,0 und 1,0, der die Helligkeit der Farbe angibt. |
Gibt eine Referenz auf das aktualisierte color Objekt zurück.
// Create a custom teal color
color brainColor = color(50, 200, 180);
// Change the color to magenta
brainColor.hsv(300, 0.75, 0.78);
// Drive forward until a magenta object is found
Drivetrain.drive(forward);
while (true) {
if (Color1.detects(brainColor)) {
Drivetrain.stop();
break;
}
wait(0.5, seconds);
}
web#
Aktualisiert die Farbe eines vorhandenen color Objekts mithilfe eines hexadezimalen oder Web-Farbwerts.
color& web(
const char* color );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein hexadezimaler oder Web-Farbwert, der eine bestimmte Farbe definiert (z. B. |
Gibt eine Referenz auf das aktualisierte color Objekt zurück.
// Create a custom teal color
color brainColor = color(50, 200, 180);
// Change the color to magenta
brainColor.web("#AA2896");
// Drive forward until a magenta object is found
Drivetrain.drive(forward);
while (true) {
if (Color1.detects(brainColor)) {
Drivetrain.stop();
break;
}
wait(0.5, seconds);
}