สีที่กำหนดเอง#
การแนะนำ#
คลาสสี color ใช้สำหรับกำหนดและแก้ไขสีสำหรับการวาดรูปทรงและการแสดงข้อความบนหน้าจอ V5 Brain Screen สามารถสร้างสีได้โดยใช้ค่า RGB, รหัสสีฐานสิบหก, ค่า HSV หรือค่าคงที่สีที่กำหนดไว้ล่วงหน้า
ตัวสร้างคลาส#
1 — Creates a
colorobject with no assigned color.color();
2 — สร้างวัตถุสี
colorจากค่าเลขฐานสิบหกหรือจำนวนเต็มcolor( int value );
3 — สร้างวัตถุสี
colorจากค่า RGBcolor( 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 ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:
rgb— อัปเดตสีโดยใช้ค่า RGBhsv— อัปเดตสีโดยใช้ค่า HSVweb— อัปเดตสีโดยใช้สตริงสีเลขฐานสิบหกของเว็บ
ก่อนเรียกใช้ฟังก์ชันสมาชิก color ใดๆ จะต้องสร้างอินสแตนซ์ color ก่อน ดังแสดงด้านล่าง:
// Create a color using RGB values
color brainColor = color(255, 128, 0);
rgb#
อัปเดตสีของวัตถุที่มีอยู่ซึ่งมีสี color โดยใช้ค่า RGB
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 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);