Aangepaste kleuren#
Invoering#
De klasse color wordt gebruikt om kleuren te definiëren en aan te passen voor het tekenen van vormen en het weergeven van tekst op het IQ (2e generatie) Brain Screen. Kleuren kunnen worden gemaakt met behulp van RGB-waarden, hexadecimale kleurcodes of vooraf gedefinieerde kleurconstanten.
Klasseconstructors#
1 — Maakt een object met kleur
coloraan, zonder toegewezen kleur.color();
2 — Maakt een object van kleur
coloraan op basis van een hexadecimale of integerwaarde.color( int value );
3 — Maakt een object met kleur
colorop basis van RGB-waarden.color( uint8_t r, uint8_t g, uint8_t b );
Klasse-destructor#
Vernietigt het object met kleur color en geeft de bijbehorende resources vrij.
~color();
Parameters#
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De kleurwaarde kan een hexadecimaal RGB-getal zijn (bijvoorbeeld |
|
|
Een geheel getal van 0 tot 255 dat de rode component vertegenwoordigt. |
|
|
Een geheel getal van 0 tot 255 dat het groene component vertegenwoordigt. |
|
|
Een geheel getal van 0 tot 255 dat de blauwe component vertegenwoordigt. |
Notities#
De volgende vooraf gedefinieerde kleurconstanten worden ondersteund:
blackblueblue_greenblue_violetcyangreenorangepurpleredred_orangered_violettransparentvioletwhiteyellowyellow_greenyellow_orange
Voorbeeld#
// 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);
Lidfuncties#
De klasse color omvat de volgende lidfuncties:
rgb— Werkt de kleur bij met behulp van RGB-waarden.hsv— Werkt de kleur bij met behulp van HSV-waarden.web— Werkt de kleur bij met behulp van een hexadecimale webkleurstring.
Voordat er lidfuncties van type color kunnen worden aangeroepen, moet er een instantie color worden aangemaakt, zoals hieronder wordt weergegeven:
// Create a color using RGB values
color brainColor = color(255, 128, 0);
rgb#
Hiermee wordt de kleur van een bestaand object met kleurcode color bijgewerkt met behulp van RGB-waarden.
1 — Werkt een kleurobject bij met een gecomprimeerde RGB-waarde.
uint32_t rgb( uint32_t value );
Parameters2 — Werkt een kleurobject bij met afzonderlijke RGB-waarden.
uint32_t rgb( uint8_t r, uint8_t g, uint8_t b );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een compacte RGB-waarde die alle drie de kleurcomponenten bevat. |
|
|
Een geheel getal van 0 tot 255 dat de rode component van de kleur vertegenwoordigt. |
|
|
Een geheel getal van 0 tot 255 dat de groene component van de kleur vertegenwoordigt. |
|
|
Een geheel getal van 0 tot 255 dat het blauwe component van de kleur vertegenwoordigt. |
Retourneert een uint32_t die de gecomprimeerde RGB-waarde van de bijgewerkte kleur vertegenwoordigt.
// Draw a rectangle with a custom teal color
color brainColor = color(50, 200, 180);
Brain.Screen.setFillColor(brainColor);
Brain.Screen.drawRectangle(0, 0, 480, 120);
// Change the color to magenta for a second rectangle
brainColor.rgb(170, 40, 150);
Brain.Screen.setFillColor(brainColor);
Brain.Screen.drawRectangle(0, 120, 480, 120);
// Draw a rectangle with a custom teal color
color brainColor = color(50, 200, 180);
Brain.Screen.setFillColor(brainColor);
Brain.Screen.drawRectangle(0, 0, 480, 120);
// Change the color to magenta for a second rectangle
brainColor.rgb(0xAA2896);
Brain.Screen.setFillColor(brainColor);
Brain.Screen.drawRectangle(0, 120, 480, 120);
hsv#
Hiermee wordt de kleur van een bestaand object met kleurwaarden color bijgewerkt met behulp van de waarden voor tint, verzadiging en helderheid.
color& hsv(
uint32_t hue,
double sat,
double value );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een geheel getal van 0 tot 360 dat de tint van de kleur weergeeft. |
|
|
Een dubbele waarde van 0,0 tot 1,0 die de verzadiging van de kleur weergeeft. |
|
|
Een decimaal getal van 0,0 tot 1,0 dat de helderheid van de kleur weergeeft. |
Retourneert een verwijzing naar het bijgewerkte object met kleur color.
// Draw a rectangle with a custom teal color
color brainColor = color(50, 200, 180);
Brain.Screen.setFillColor(brainColor);
Brain.Screen.drawRectangle(0, 0, 480, 120);
// Change the color to magenta for a second rectangle
brainColor.hsv(300, 0.75, 0.78);
Brain.Screen.setFillColor(brainColor);
Brain.Screen.drawRectangle(0, 120, 480, 120);
web#
Hiermee wordt de kleur van een bestaand object met de waarde color bijgewerkt met behulp van een hexadecimale of webkleurwaarde.
color& web(
const char* color );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een hexadecimale of webkleurwaarde die een specifieke kleur definieert (bijv. |
Retourneert een verwijzing naar het bijgewerkte object met kleur color.
// Draw a rectangle with a custom teal color
color brainColor = color(50, 200, 180);
Brain.Screen.setFillColor(brainColor);
Brain.Screen.drawRectangle(0, 0, 480, 120);
// Change the color to magenta for a second rectangle
brainColor.web("#AA2896");
Brain.Screen.setFillColor(brainColor);
Brain.Screen.drawRectangle(0, 120, 480, 120);