تباين الإضاءة النسبية
احسب تباين الإضاءة النسبية للونين RGB بثلاث قنوات من ثمانية بتات.
def contrast_ratio(left, right):
def luminance(rgb):
if type(rgb) not in (list, tuple) or len(rgb) != 3:
raise ValueError("rgb.container")
rgb = tuple(rgb)
if len(rgb) != 3 or any(type(c) is not int or not 0 <= c <= 255 for c in rgb):
raise ValueError("rgb.channel")
channels = [c / 255 for c in rgb]
linear = [c / 12.92 if c <= 0.04045 else ((c + 0.055) / 1.055)**2.4
for c in channels]
return sum(c * w for c, w in zip(linear, (0.2126, 0.7152, 0.0722)))
a, b = sorted((luminance(left), luminance(right)))
return (b + 0.05) / (a + 0.05)المشروع
اختبر الأسود مع الأبيض والألوان المتساوية وعكس المعاملين وارفض القنوات غير الصحيحة أو الخارجة عن المجال دون اعتبار النسبة تقييما كاملا للإتاحة.
راجع قبل التطبيق
قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.
النماذج
اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل.
def contrast_ratio(left, right):
def luminance(rgb):
if type(rgb) not in (list, tuple) or len(rgb) != 3:
raise ValueError("rgb.container")
rgb = tuple(rgb)
if len(rgb) != 3 or any(type(c) is not int or not 0 <= c <= 255 for c in rgb):
raise ValueError("rgb.channel")
channels = [c / 255 for c in rgb]
linear = [c / 12.92 if c <= 0.04045 else ((c + 0.055) / 1.055)**2.4
for c in channels]
return sum(c * w for c, w in zip(linear, (0.2126, 0.7152, 0.0722)))
a, b = sorted((luminance(left), luminance(right)))
return (b + 0.05) / (a + 0.05)اربط حساب اللون بالواجهة التي يصفها
LumaGauge برنامج برمجة بالذكاء الاصطناعي على Windows لمراجعة تعديلات الواجهات المعتمدة على حسابات الألوان. افتح مشروعك وصف العنصر والخلفية والحالة التي تريد استقصاءها. يمكن للمساعد المتصل فحص الشيفرة المعنية ومناقشة تعديل، مع إبقائك الواجهة المعروضة ومدخلاتها الفعلية محور المهمة.
يقترح مثال luminance.py طلبا محددا حول حساب التباين. اسأل عن مصدر قيم الألوان وهل تطابق الألوان المعروضة في النهاية. قد يحول التطبيق القيم قبل العرض، فلا تكفي الدالة المساعدة وحدها لحسم السؤال المرئي. استخدم المثال كسياق للمشروع ثم تتبع النتيجة إلى المكون المستخدم لها والسلوك الذي تؤثر فيه.
يمكن اختيار نموذج ذكاء اصطناعي بلا قيود عبر نقطة نهاية مدعومة متوافقة مع OpenAI أو تابعة لـ Anthropic توفره. تقدم الخدمة المضبوطة قدرات النموذج ودعم الأدوات وأي قيود. بعد مراجعة التعديل، شغل فحوصا عددية وافحص حالات الشاشة المعنية. راع المقدمة والخلفية النهائيتين بدلا من الاعتماد على رموز التصميم وحدها. تساعدك هذه الطريقة على تمييز عيب الحساب من مدخل خاطئ أو مشكلة عرض تحتاج إصلاحا مختلفا.
مراجعة السلوك البرمجي المرتبط بالألوان
هل تصادق نسبة الدالة المساعدة على صلاحية الواجهة؟
لا. تصف القيمة الألوان المدخلة وفقا لافتراضات الحساب. راجع الحالة المعروضة فعليا والمعايير المنطبقة على العنصر. لا تثبت نتيجة عددية واحدة إتاحة الشاشة أو التطبيق بأكمله.
ماذا لو غيرت عتامة CSS اللون المرئي؟
تتبع المقدمة والخلفية الفعليتين قبل اعتبار رموز المصدر مدخلات نهائية. افحص العنصر المعروض وأي طبقات معنية. اسأل هل يتلقى الحساب الألوان التي يراها المستخدم أم قيمة تصميم سابقة.
ما المدخلات المفيدة لاختبار الحساب؟
استخدم أزواجا مرجعية معروفة وألوانا متطابقة وقيما عند حدود القنوات المقبولة. أدرج حاويات وقيم قنوات غير صالحة لفحص الرفض. قارن النتائج بقيمة متوقعة مستقلة بدلا من مجرد تسجيل مخرجات الدالة الجديدة.
هل أعدل الدالة المساعدة أم لوحة ألوان السمة؟
حدد أولا هل مصدر الاختلاف الصيغة أم مدخلاتها أم التصميم المرئي المقصود. يشير كل منها إلى تعديل مختلف. راجع المكونات المجاورة إن تغيرت قيمة مشتركة في اللوحة، فقد تتغير علاقات تباينها أيضا.
LumaGauge · آخر تحديث 2026-10-25