"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف تجد اللون التكميلي لرمز سداسي معين؟

كيف تجد اللون التكميلي لرمز سداسي معين؟

نشر في 2025-03-23
تصفح:873

كيفية تحديد اللون التكميلي للون المعطى

الهدف هو إنشاء لون عكس لون معين. على سبيل المثال ، إذا كان اللون الحالي أسود ، فيجب أن يكون العكس أبيض. هذه المهمة أمر بالغ الأهمية عند تعيين لون خلفية متناقض لنص بلون ديناميكي لضمان رؤية واضحة.

لتحقيق ذلك ، نستخدم النهج التالي:

لون للحصول على القيم التكميلية.
  1. تحويل المكونات المقلوبة مرة أخرى إلى تنسيق hex. if (hex.indexof ('#') === 0) { Hex = hex.slice (1) ؛ } // تحويل 3 أرقام Hex إلى 6 أرقام. if (hex.length === 3) { Hex = Hex [0] Hex [0] Hex [1] Hex [1] Hex [2] hex [2] ؛ } if (hex.length! == 6) { رمي خطأ جديد ("لون سداسي غير صالح.") ؛ } // عكس مكونات اللون. var r = (255 - parseint (hex.slice (0 ، 2) ، 16)). tostring (16) ، g = (255 - parseint (hex.slice (2 ، 4) ، 16)). tostring (16) ، B = (255 - parseint (hex.slice (4 ، 6) ، 16)). tostring (16) ؛ // PAD كل مكون مع الأصفار الرائدة والعودة. إرجاع '#' padzero (r) padzero (g) padzero (b) ؛ } وظيفة padzero (str ، len) { لين = لين || 2 ؛ var zeros = new array (len). join ('0') ؛ العودة (الأصفار str) .slice (-len) ؛ }
  2. مثال على الإخراج:
  3. يتيح لك خيار "BW" لتحديد ما إذا كان يجب أن تكون النتيجة أقرب إلى الأسود أو الأبيض ، مما يوفر تباينًا أفضل لتحسين القراءة:
if (hex.indexof ('#') === 0) { Hex = hex.slice (1) ؛ } // تحويل 3 أرقام Hex إلى 6 أرقام. if (hex.length === 3) { Hex = Hex [0] Hex [0] Hex [1] Hex [1] Hex [2] hex [2] ؛ } if (hex.length! == 6) { رمي خطأ جديد ("لون سداسي غير صالح.") ؛ } var r = parseint (hex.slice (0 ، 2) ، 16) ، g = parseint (hex.slice (2 ، 4) ، 16) ، B = parseint (hex.slice (4 ، 6) ، 16) ؛ إذا (bw) { // الصيغة لتحديد ما إذا كان اللون أقرب إلى الأسود أو الأبيض. العودة (r * 0.299 g * 0.587 b * 0.114)> 186 ؟ '#000000' : '#ffffff' ؛ } // عكس مكونات اللون. r = (255 - r) .ToString (16) ؛ G = (255 - G) .ToString (16) ؛ B = (255 - B) .ToString (16) ؛ // PAD كل مكون مع الأصفار الرائدة والعودة. إرجاع '#' padzero (r) padzero (g) padzero (b) ؛ }

مثال على الإخراج:
            
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3