Niestandardowe kolory#
Wstęp#
Klasa kolorów color służy do definiowania i modyfikowania kolorów w systemie IQ Brain (1. generacji). Kolory można tworzyć za pomocą wartości RGB, szesnastkowych kodów kolorów, wartości HSV lub predefiniowanych stałych kolorów.
Konstruktory klas#
1 — Tworzy obiekt o kolorze
colorbez przypisanego koloru.color();
2 — Tworzy obiekt koloru
colorz wartości szesnastkowej lub całkowitej.color( int value );
3 — Tworzy obiekt koloru
colorz wartości RGB.color( uint8_t r, uint8_t g, uint8_t b );
Destruktor klasy#
Destroys the color object and releases associated resources.
~color();
Parametry#
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Wartość koloru, która może być albo szesnastkową liczbą całkowitą RGB (na przykład |
|
|
Liczba całkowita od 0 do 255 reprezentująca składnik czerwony. |
|
|
Liczba całkowita od 0 do 255 reprezentująca składnik zielony. |
|
|
Liczba całkowita od 0 do 255 reprezentująca składnik niebieski. |
Notatki#
Obsługiwane są następujące predefiniowane stałe kolorów:
blackblueblue_greenblue_violetcyangreenorangepurpleredred_orangered_violettransparentvioletwhiteyellowyellow_greenyellow_orange
Przykład#
// 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);
Funkcje członkowskie#
Klasa color zawiera następujące funkcje członkowskie:
rgb— Aktualizuje kolor przy użyciu wartości RGB.hsv— Aktualizuje kolor przy użyciu wartości HSV.web— Aktualizuje kolor, używając ciągu szesnastkowego koloru.
Przed wywołaniem jakiejkolwiek funkcji członkowskiej koloru color należy utworzyć instancję koloru color , jak pokazano poniżej:
// Create a color using RGB values
color brainColor = color(255, 128, 0);
rgb#
Aktualizuje kolor istniejącego obiektu o kolorze color , używając wartości RGB.
1 — Aktualizuje obiekt koloru za pomocą spakowanej wartości RGB.
uint32_t rgb( uint32_t value );
Parameters2 — Aktualizuje obiekt koloru przy użyciu oddzielnych wartości RGB.
uint32_t rgb( uint8_t r, uint8_t g, uint8_t b );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Spakowana wartość RGB zawierająca wszystkie trzy składniki koloru. |
|
|
Liczba całkowita od 0 do 255 reprezentująca czerwoną składową koloru. |
|
|
Liczba całkowita od 0 do 255 reprezentująca zieloną składową koloru. |
|
|
Liczba całkowita od 0 do 255 reprezentująca niebieską składową koloru. |
Zwraca wartość uint32_t reprezentującą spakowaną wartość RGB zaktualizowanego koloru.
// 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#
Aktualizuje kolor istniejącego obiektu o kolorze color używając wartości odcienia, nasycenia i jasności.
color& hsv(
uint32_t hue,
double sat,
double value );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Liczba całkowita od 0 do 360 oznaczająca odcień koloru. |
|
|
Podwójna wartość od 0,0 do 1,0 oznaczająca nasycenie koloru. |
|
|
Podwójna wartość od 0,0 do 1,0 oznaczająca jasność koloru. |
Zwraca odwołanie do zaktualizowanego obiektu koloru color.
// 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#
Aktualizuje kolor istniejącego obiektu o wartości color , używając wartości szesnastkowej lub internetowej koloru.
color& web(
const char* color );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Wartość koloru szesnastkowego lub internetowego definiująca konkretny kolor (np. |
Zwraca odwołanie do zaktualizowanego obiektu koloru color.
// 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);
}