自訂顏色#
介紹#
color 類別用於定義和修改 EXP Brain 螢幕上繪製形狀和顯示文字的顏色。顏色可以使用 RGB 值、十六進位顏色代碼、HSV 值或預先定義的顏色常數來建立。
類別建構函數#
1 — 建立一個沒有指定顏色的
color物件。color();
2 — 根據十六進位或整數值建立一個
color物件。color( int value );
3 — 根據 RGB 值建立
color物件。color( uint8_t r, uint8_t g, uint8_t b );
類別析構函數#
銷毀 color 物件並釋放相關資源。
~color();
參數#
範圍 |
類型 |
描述 |
|---|---|---|
|
|
顏色值可以是十六進位 RGB 整數(例如, |
|
|
一個介於 0 到 255 之間的整數,表示紅色分量。 |
|
|
一個介於 0 到 255 之間的整數,表示綠色分量。 |
|
|
一個介於 0 到 255 之間的整數,表示藍色分量。 |
筆記#
支持以下预定义颜色常量:
blackbluecyangreenorangepurpleredtransparentvioletwhiteyellow
例子#
// 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);
成員功能#
color 類別包含以下成員函數:
在呼叫任何 color 成員函數之前,必須先建立一個 color 實例,如下所示:
// Create a color using RGB values
color brainColor = color(255, 128, 0);
rgb#
使用 RGB 值更新現有 color 物件的顏色。
1 — 使用打包的 RGB 值更新顏色物件。
uint32_t rgb( uint32_t value );
Parameters2 — 使用單獨的 RGB 值更新顏色物件。
uint32_t rgb( uint8_t r, uint8_t g, uint8_t b );
範圍 |
類型 |
描述 |
|---|---|---|
|
|
包含所有三個顏色分量的打包 RGB 值。 |
|
|
一個介於 0 到 255 之間的整數,表示顏色中的紅色分量。 |
|
|
一個介於 0 到 255 之間的整數,表示顏色中的綠色分量。 |
|
|
一個介於 0 到 255 之間的整數,表示顏色中的藍色分量。 |
傳回一個 uint32_t ,表示更新顏色的打包 RGB 值。
// 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#
使用色調、飽和度和亮度值更新現有 color 物件的顏色。
color& hsv(
uint32_t hue,
double sat,
double value );
範圍 |
類型 |
描述 |
|---|---|---|
|
|
一個介於 0 到 360 之間的整數,表示顏色的色調。 |
|
|
一個介於 0.0 到 1.0 之間的雙精度浮點數,表示顏色的飽和度。 |
|
|
一個介於 0.0 到 1.0 之間的雙精度浮點數,表示顏色的亮度。 |
傳回已更新的 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#
使用十六進位或網頁顏色值更新現有 color 物件的顏色。
color& web(
const char* color );
範圍 |
類型 |
描述 |
|---|---|---|
|
|
定義特定顏色的十六進位或網頁顏色值(例如, |
傳回已更新的 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);