Couleurs personnalisées#

Introduction#

La classe de couleur color permet de définir et de modifier les couleurs utilisées pour dessiner des formes et afficher du texte sur l’écran cérébral IQ (2e génération). Les couleurs peuvent être créées à l’aide de valeurs RVB, de codes de couleur hexadécimaux ou de constantes de couleur prédéfinies.

Constructeurs de classes#

1 — Crée un objet de couleur color sans couleur attribuée.

color();

2 — Crée un objet de couleur color à partir d’une valeur hexadécimale ou entière.

color( 
  int value );

3 — Crée un objet de couleur color à partir des valeurs RVB.

color( 
  uint8_t r, 
  uint8_t g, 
  uint8_t b );

Destructeur de classe#

Destroys the color object and releases associated resources.

~color();

Paramètres#

Paramètre

Taper

Description

value

int

La valeur de couleur, qui peut être soit un entier RGB hexadécimal (par exemple, 0xFFF700) soit l’une des constantes de couleur prédéfinies énumérées ci-dessous.

r

uint8_t

Un entier compris entre 0 et 255 représentant la composante rouge.

g

uint8_t

Un entier compris entre 0 et 255 représentant la composante verte.

b

uint8_t

Un entier compris entre 0 et 255 représentant la composante bleue.

Notes#

  • The following predefined color constants are supported:

    • black
    • blue
    • blue_green
    • blue_violet
    • cyan
    • green
    • orange
    • purple
    • red
    • red_orange
    • red_violet
    • transparent
    • violet
    • white
    • yellow
    • yellow_green
    • yellow_orange

Exemple#

// 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);

Fonctions des membres#

La classe color comprend les fonctions membres suivantes :

  • rgb — Met à jour la couleur en utilisant les valeurs RGB.

  • hsv — Met à jour la couleur en utilisant les valeurs HSV.

  • web — Met à jour la couleur en utilisant une chaîne de couleur hexadécimale web.

Before calling any color member functions, a color instance must be created, as shown below:

// Create a color using RGB values
color brainColor = color(255, 128, 0);

rgb#

Met à jour la couleur d’un objet existant de couleur color en utilisant les valeurs RVB.

Available Functions

1 — Met à jour un objet couleur avec une valeur RGB compressée.

uint32_t rgb( 
  uint32_t value );

2 — Met à jour un objet couleur avec des valeurs RGB distinctes.

uint32_t rgb( 
  uint8_t r, 
  uint8_t g, 
  uint8_t b );

Parameters

Paramètre

Taper

Description

value

uint32_t

Une valeur RGB compressée contenant les trois composantes de couleur.

r

uint8_t

Un entier compris entre 0 et 255 représentant la composante rouge de la couleur.

g

uint8_t

Un entier compris entre 0 et 255 représentant la composante verte de la couleur.

b

uint8_t

Un entier compris entre 0 et 255 représentant la composante bleue de la couleur.

Return Values

Renvoie un uint32_t uint32_t représentant la valeur RGB compressée de la couleur mise à jour.

Examples
// 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#

Met à jour la couleur d’un objet existant de couleur color en utilisant les valeurs de teinte, de saturation et de luminosité.

Available Functions
color& hsv( 
  uint32_t hue, 
  double   sat, 
  double   value );

Parameters

Paramètre

Taper

Description

hue

uint32_t

Un entier compris entre 0 et 360 qui représente la teinte de la couleur.

sat

double

Une valeur double comprise entre 0,0 et 1,0 qui représente la saturation de la couleur.

value

double

Un nombre décimal compris entre 0,0 et 1,0 qui représente la luminosité de la couleur.

Return Values

Renvoie une référence à l’objet mis à jour de couleur color.

Examples
// 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#

Met à jour la couleur d’un objet existant de couleur color en utilisant une valeur de couleur hexadécimale ou web.

Available Functions
color& web( 
  const char* color );

Parameters

Paramètre

Taper

Description

color

const char*

Une valeur de couleur hexadécimale ou web qui définit une couleur spécifique (par exemple, “#FF0000” pour le rouge).

Return Values

Renvoie une référence à l’objet mis à jour de couleur color.

Examples
// 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);