हम एक मेडिकल शेड्यूलिंग सिस्टम पर काम कर रहे हैं जो उपयोगकर्ताओं को एक निश्चित स्थिति के आधार पर कैलेंडर पर दिखाने के लिए रंगों को परिभाषित करने की अनुमति देता है। हमारे पास समस्या यह है कि यदि उपयोगकर्ता एक गहरा पृष्ठभूमि रंग चुनता है और हम एक गहरे रंग के फ़ॉन्ट का उपयोग कर रहे हैं, तो फ़ॉन्ट प्रदर्शित नहीं होता है। इसी तरह अगर वे हल्का रंग चुनते हैं और हम हल्के फ़ॉन्ट का उपयोग कर रहे हैं। कई कारणों से, हम नहीं चाहते कि उपयोगकर्ता दोनों रंगों को सेट करे।
लेकिन, हमें आश्चर्य होता है कि रंगों के हेक्स कोड के लिए कोई विशेष पैटर्न है या नहीं। शायद अगर यह किसी दिए गए मान से कम है, तो एक गहरे रंग का फ़ॉन्ट इस्तेमाल किया जाना चाहिए और एक हल्का फ़ॉन्ट अन्यथा इस्तेमाल किया जाना चाहिए?
तो, क्या उपयोगकर्ता की पृष्ठभूमि के रंग की पसंद के आधार पर फ़ॉन्ट रंग को प्रोग्रामिक रूप से चुनने का एक बुद्धिमान तरीका है?
एमी
3 जवाब
रंग चमक: http://www.webmasterworld.com/forum88/9769.htm
लेकिन, वास्तव में, केवल पृष्ठभूमि को उल्टा क्यों नहीं करना और परिणामी रंग का उपयोग करना एक अग्रभूमि है?
आपके पहले प्रश्न के लिए, रंग कोड के हेक्स मान आरजीबी प्रारूप में हैं जो मुझे विश्वास है। इसका मतलब है कि पहली बाइट रंग में लाल-नेस की मात्रा है; दूसरा बाइट रंग में हरे-नेस की मात्रा है; और तीसरा बाइट रंग में ब्लू-नेस की मात्रा है।
यदि आप किसी फ़ॉन्ट रंग का अनुमान लगाना चाहते हैं, तो आप कोशिश कर सकते हैं और देख सकते हैं कि यह #FFFFFF के कितना करीब है, और यदि यह #777777 से कम है तो गहरे रंग का उपयोग करें।
मैं किसी भी तरह से रंगों का विशेषज्ञ नहीं हूं, इसलिए मैं इस उत्तर की शुद्धता की गारंटी नहीं दूंगा।
इस समारोह का प्रयास करें;
function wc_light_or_dark( $color, $dark = '#000000', $light = '#FFFFFF' ) {
$hex = str_replace( '#', '', $color );
$c_r = hexdec( substr( $hex, 0, 2 ) );
$c_g = hexdec( substr( $hex, 2, 2 ) );
$c_b = hexdec( substr( $hex, 4, 2 ) );
$brightness = ( ( $c_r * 299 ) + ( $c_g * 587 ) + ( $c_b * 114 ) ) / 1000;
return $brightness > 155 ? $dark : $light;
}
स्रोत: http://woocommerce.wp-a2z.org/oik_api/wc_light_or_dark/
संबंधित सवाल
नए सवाल
colors
प्रोग्रामिंग भाषा में रंगों का प्रतिनिधित्व या हेरफेर करने के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।