HEX <-> RGB <-> تحويل مساحة اللون HSV مع Python
-
02-10-2019 - |
سؤال
إلى عن على هذا المشروع أستخدم ألوان 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
لا تنتمي إلى StackOverflow