Προσαρμοσμένα χρώματα#
Εισαγωγή#
Η κλάση color χρησιμοποιείται για τον ορισμό και την τροποποίηση χρωμάτων για τη σχεδίαση σχημάτων και την εμφάνιση κειμένου στην οθόνη IQ (2ης γενιάς) Brain Screen. Τα χρώματα μπορούν να δημιουργηθούν χρησιμοποιώντας τιμές RGB, δεκαεξαδικούς κωδικούς χρωμάτων ή προκαθορισμένες σταθερές χρωμάτων.
Κατασκευαστές κλάσεων#
1 — Δημιουργεί ένα αντικείμενο
χρώματοςχωρίς να έχει αντιστοιχιστεί χρώμα.color();
2 — Δημιουργεί ένα αντικείμενο χρώματος
και χρώματοςαπό μια δεκαεξαδική ή ακέραια τιμή.color( int value );
3 — Δημιουργεί ένα αντικείμενο χρώματος
και χρώματοςαπό τιμές RGB.color( uint8_t r, uint8_t g, uint8_t b );
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο χρώματος και απελευθερώνει τους σχετικούς πόρους.
~color();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η τιμή χρώματος, η οποία μπορεί να είναι είτε ένας δεκαεξαδικός ακέραιος RGB (για παράδειγμα, |
|
|
Ένας ακέραιος αριθμός από 0 έως 255 που αντιπροσωπεύει το κόκκινο στοιχείο. |
|
|
Ένας ακέραιος αριθμός από 0 έως 255 που αντιπροσωπεύει το πράσινο στοιχείο. |
|
|
Ένας ακέραιος αριθμός από 0 έως 255 που αντιπροσωπεύει το μπλε στοιχείο. |
Σημειώσεις#
Υποστηρίζονται οι ακόλουθες προκαθορισμένες σταθερές χρώματος:
μαύρομπλεμπλε_πράσινομπλε_βιολετίκυανόπράσινοπορτοκαλίμωβκόκκινο_πορτοκαλίκόκκινο_βιολετίδιαφανέςβιολετίλευκόκίτρινοκίτρινο_πράσινοκίτρινο_πορτοκαλί
Παράδειγμα#
// 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— Ενημερώνει το χρώμα χρησιμοποιώντας τιμές RGB.hsv— Ενημερώνει το χρώμα χρησιμοποιώντας τιμές HSV.web— Ενημερώνει το χρώμα χρησιμοποιώντας μια δεκαεξαδική συμβολοσειρά χρώματος web.
Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους χρώματος , πρέπει να δημιουργηθεί μια παρουσία χρώματος , όπως φαίνεται παρακάτω:
// Create a color using RGB values
color brainColor = color(255, 128, 0);
rgb#
Ενημερώνει το χρώμα ενός υπάρχοντος αντικειμένου με χρώμα και χρώμα χρησιμοποιώντας τιμές 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 που αντιπροσωπεύει την τιμή 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& hsv(
uint32_t hue,
double sat,
double value );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένας ακέραιος αριθμός από 0 έως 360 που αντιπροσωπεύει την απόχρωση του χρώματος. |
|
|
Ένα διπλάσιο από 0,0 έως 1,0 που αντιπροσωπεύει τον κορεσμό του χρώματος. |
|
|
Ένα διπλάσιο από 0,0 έως 1,0 που αντιπροσωπεύει τη φωτεινότητα του χρώματος. |
Επιστρέφει μια αναφορά στο ενημερωμένο αντικείμενο χρώματος.
// 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& web(
const char* 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);