रंग की वैल्यू, HSV या RGB फ़ॉर्मैट में दी जा सकती हैं. इसके अलावा, रंग का नाम इस्तेमाल करके भी वैल्यू दी जा सकती हैं.
ह्यू-सैचुरेशन-वैल्यू
रंग तय करने का सबसे आसान तरीका यह है कि 0 से 360 के बीच की कोई संख्या डाली जाए. इससे ह्यू-सैचुरेशन-वैल्यू (एचएसवी) रंग मॉडल में ह्यू तय होता है.
सभी ब्लॉक के रंगों के लिए सैचुरेशन और वैल्यू तय करके HSV का इस्तेमाल करने पर, आपको ब्लॉक का रंग चुनने में मदद मिलती है. साथ ही, यह पक्का किया जा सकता है कि सभी ब्लॉक एक ही पैलेट का इस्तेमाल करें.
सैचुरेशन और वैल्यू को हर ऐप्लिकेशन के लिए अडैप्ट किया जा सकता है. इसके लिए, इन फ़ंक्शन को कॉल करें:
Blockly.utils.colour.setHsvSaturation(0.45) // 0 (inclusive) to 1 (exclusive), defaulting to 0.45
Blockly.utils.colour.setHsvValue(0.65) // 0 (inclusive) to 1 (exclusive), defaulting to 0.65
कई कलर पिकर, HSV कलर स्पेस की सुविधा देते हैं. जैसे, HSV
पिकर. Blockly के संतृप्ति और वैल्यू कॉन्स्टेंट डालें (डिफ़ॉल्ट रूप से, ये क्रमशः 45% और 65% होते हैं). इसके बाद, रंग को चुने गए रंग पर स्लाइड करें. इस ह्यू नंबर का इस्तेमाल, colour
वैल्यू के तौर पर करें.
RGB
हमारा सुझाव है कि एचएसवी कलर स्पेस का इस्तेमाल करें. हालांकि, Blockly में #RRGGBB
हेक्साडेसिमल स्ट्रिंग के तौर पर बताए गए रंगों का इस्तेमाल किया जा सकता है. हालांकि, इससे ऐप्लिकेशन के अन्य रंगों (जैसे, सीएसएस में स्टाइल) और डिज़ाइन ऐप्लिकेशन (जैसे, Photoshop) का इस्तेमाल किया जाता है, तो डिज़ाइन से जुड़ा जोखिम होता है. अगर ध्यान से नहीं चुना जाता है, तो ब्लॉक एक-दूसरे के साथ मेल नहीं खाते.
अगर आपके पास विज़ुअल डिज़ाइन के लिए खास संसाधन नहीं हैं, तो हमारा सुझाव है कि आप एचएसवी कलर स्पेस की सीमाओं के मुताबिक काम करें. अगर आपको इस तरीके से सभी रंगों को फिर से तय करना है, तो रंग के बारे में Google के Material Design के संसाधन देखें.
रंगों के नाम
W3C के तय किए गए रंगों के नाम का इस्तेमाल करके भी रंगों की जानकारी दी जा सकती है.
रंग के रेफ़रंस
अक्सर, एक से ज़्यादा ब्लॉक एक ही रंग के होते हैं. कलर की परिभाषाओं को एक ही जगह पर रखने से, कलर मैनेज करने और सही रंग के नए ब्लॉक जोड़ने में आसानी होती है. ब्लॉक के रंग और टूलबॉक्स की कैटगरी, लोकलाइज़ेशन टोकन का इस्तेमाल करके ऐसा कर सकती हैं.
Blockly में, स्ट्रिंग टेबल में नौ कलर कॉन्स्टेंट शामिल होते हैं. ये टूलबॉक्स कैटगरी के हिसाब से होते हैं. साथ ही, डाइनैमिक वैरिएबल के लिए एक अलग रंग होता है:
'%{BKY_LOGIC_HUE}'
'%{BKY_LOOPS_HUE}'
'%{BKY_MATH_HUE}'
'%{BKY_TEXTS_HUE}'
'%{BKY_LISTS_HUE}'
'%{BKY_COLOUR_HUE}'
'%{BKY_VARIABLES_HUE}'
'%{BKY_VARIABLES_DYNAMIC_HUE}'
'%{BKY_PROCEDURES_HUE}'
इन स्ट्रिंग वैल्यू का इस्तेमाल, JSON की परिभाषाओं और
block.setColour(..)
, दोनों में किया जा सकता है.
Blockly.Msg
में जोड़कर, अपने हिसाब से रंग के कॉन्स्टेंट जोड़े जा सकते हैं:
// Define the colour
Blockly.Msg['EVERYTHING_HUE'] = '42';
// Use in a block or block definition:
block.setColour('%{BKY_EVERYTHING_HUE}');
स्थानीय भाषा में अनुवाद करने वाली स्ट्रिंग टेबल में रंगों को सेव करना असामान्य लग सकता है. हालांकि, यह सुविधाजनक है, क्योंकि JSON नोटेशन में पहले से ही रेफ़रंस के लिए सहायता मौजूद है. ज़रूरत पड़ने पर, इससे रंगों को स्थानीय भाषा के हिसाब से बदला भी जा सकता है.