سؤال

إلى عن على هذا المشروع أستخدم ألوان Python لتحويل RGB إلى نائب العكس من HSV ليكون قادرًا على معالجة التشبع والخفة ، لكنني لاحظت أن بعض الألوان تعطي نتائج وهمية.

على سبيل المثال ، إذا أخذت أي ألوان أساسية ، فلا توجد مشكلة:

ومع ذلك ، إذا اخترت لون RGB عشوائي وتحويله إلى HSV ، فأنا في وقت ما أحصل على نتائج وهمية.

في بعض الأحيان تحدث هذه النتائج الزائفة عندما أقوم بزيادة أو تقلل من الخفة أو تشبع اللون.

في هذا المثال الخفة 10 ٪ ، 20 ٪ والتشبع 100 ٪ هائلين:

لست متأكدًا تمامًا من سبب حدوث ذلك ولا كيف يجب إصلاح هذا ..

هل كانت مفيدة؟

المحلول

المشكلة في رمز Dec2Hex الخاص بك:

def dec2hex(d):
    """return a two character hexadecimal string representation of integer d"""
    r = "%X" % d
    return r if len(r) > 1 else r+r

عندما تكون قيمتك أقل من 16 ، فإنك تكررها للحصول على القيمة ، وبعبارة أخرى ، تضاعفها بمقدار 17. تريد هذا:

def dec2hex(d):
    """return a two character hexadecimal string representation of integer d"""
    return "%02X" % d
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top