自定义颜色#
介绍#
The color class is used to define and modify colors for drawing shapes and displaying text on the V5 Brain Screen. Colors can be created using RGB values, hexadecimal color codes, HSV values, or predefined color constants.
Class Constructors#
1 — Creates a
colorobject with no assigned color.color();
2 — Creates a
colorobject from a hexadecimal or integer value.color( int value );
3 — Creates a
colorobject from RGB values.color( uint8_t r, uint8_t g, uint8_t b );
Class Destructor#
Destroys the color object and releases associated resources.
~color();
参数#
范围 |
Type |
描述 |
|---|---|---|
|
|
The color value, which can be either a hexadecimal RGB integer (for example, |
|
|
一个介于 0 到 255 之间的整数,表示红色分量。 |
|
|
一个介于 0 到 255 之间的整数,表示绿色分量。 |
|
|
一个介于 0 到 255 之间的整数,表示蓝色分量。 |
Notes#
The following predefined color constants are supported:
blackblueblue_greenblue_violetcyangreenorangepurpleredred_orangered_violettransparentvioletwhiteyellowyellow_greenyellow_orange
Example#
// 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);
Member Functions#
The color class includes the following member functions:
rgb— Updates the color using RGB values.hsv— Updates the color using HSV values.web— Updates the color using a web hex color string.
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#
Updates the color of an existing color object using RGB values.
1 — Updates a color object with a packed RGB value.
uint32_t rgb( uint32_t value );
Parameters2 — Updates a color object with separate RGB values.
uint32_t rgb( uint8_t r, uint8_t g, uint8_t b );
范围 |
Type |
描述 |
|---|---|---|
|
|
A packed RGB value containing all three color components. |
|
|
一个介于 0 到 255 之间的整数,表示颜色中的红色分量。 |
|
|
一个介于 0 到 255 之间的整数,表示颜色中的绿色分量。 |
|
|
一个介于 0 到 255 之间的整数,表示颜色中的蓝色分量。 |
Returns a uint32_t representing the packed RGB value of the updated 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.rgb(170, 40, 150);
Brain.Screen.setFillColor(brainColor);
Brain.Screen.drawRectangle(0, 120, 480, 120);
hsv#
Updates the color of an existing color object using hue, saturation, and brightness values.
hsv(
uint32_t hue,
double sat,
double value );
范围 |
Type |
描述 |
|---|---|---|
|
|
An integer from 0 to 360 that represents the hue of the color. |
|
|
A double from 0.0 to 1.0 that represents the saturation of the color. |
|
|
A double from 0.0 to 1.0 that represents the brightness of the color. |
Returns a reference to the updated color object.
// 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#
Updates the color of an existing color object using a hexadecimal or web color value.
web(
const char* color );
范围 |
Type |
描述 |
|---|---|---|
|
|
A hexadecimal or web color value that defines a specific color (e.g., |
Returns a reference to the updated color object.
// 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);