ألوان مخصصة#
مقدمة#
تُستخدم فئة اللون color لتعريف وتعديل الألوان المستخدمة في رسم الأشكال وعرض النصوص على شاشة الدماغ IQ (الجيل الثاني). ويمكن إنشاء الألوان باستخدام قيم RGB، أو رموز الألوان السداسية العشرية، أو ثوابت الألوان المُعرَّفة مسبقًا.
مُنشئات الفئات#
1 — ينشئ كائنًا بلون
colorبدون لون معين.color();
2 — Creates a
colorobject from a hexadecimal or integer value.color( int value );
3 — يقوم بإنشاء كائن بلون
colorمن قيم RGB.color( uint8_t r, uint8_t g, uint8_t b );
مُدمِّر الفئة#
يقوم بتدمير الكائن ذي اللون color ويحرر الموارد المرتبطة به.
~color();
حدود#
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
قيمة اللون، والتي يمكن أن تكون إما عددًا صحيحًا سداسيًا عشريًا RGB (على سبيل المثال، |
|
|
عدد صحيح من 0 إلى 255 يمثل المكون الأحمر. |
|
|
عدد صحيح من 0 إلى 255 يمثل المكون الأخضر. |
|
|
عدد صحيح من 0 إلى 255 يمثل المكون الأزرق. |
ملحوظات#
The following predefined color constants are supported:
blackblueblue_greenblue_violetcyangreenorangepurpleredred_orangered_violettransparentvioletwhiteyellowyellow_greenyellow_orange
مثال#
// 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— يقوم بتحديث اللون باستخدام سلسلة ألوان سداسية عشرية للويب.
قبل استدعاء أي من الدوال الأعضاء ذات اللون 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 تمثل قيمة 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);