قيمة Magic ColorRef/RGB لتحديد وقت استخدام النص الخفيف/الظلام
سؤال
منذ سنوات ، في نسختي المفقودة منذ فترة طويلة من كتاب برمجة Windows 3.0 Charles Petzold ، كانت هناك قيمة Magic ColorRef أو RGB موثقة يمكنك استخدامها للتحقق مما إذا كان يجب عليك رسم النص بلون فاتح أو لون غامق. على سبيل المثال ، إذا كان لون الخلفية أقل من هذه القيمة ، فاستخدم النص الأسود ، إذا كان أعلى ، فاستخدم نصًا أبيض. هل يعرف أي شخص/يتذكر ما هي هذه القيمة السحرية؟
المحلول
لا أستطيع أن أقول عن ColorRef ولكن لدي نتائج جيدة باستخدام الانارة كما عتبة:
Y= 0.3 * R + 0.59 * G + 0.11 * B
مع الألوان المعبر عنها كقيمة عشرية بين 0.0 و 1.0.
إذا كان y> = 0.5 فكرت في الخلفية "الضوء" (واستخدمت النص المظلم) ، إذا كان y <0.5 فعلت العكس.
أتذكر أنني استخدمت أيضًا صيغًا أخرى بما في ذلك الوسط البسيط:
L = (R+G+B)/3
لكني لم يعجبني النتيجة. يبدو من المنطقي بالنسبة لي أن الأخضر يساهم في الخفة أكثر من الأحمر والأحمر أكثر من الأزرق.