هذه الطريقة تأخذ فقط بألوان الألوان ، وتجاهل التشبع والسطوع. يتم حساب المسافة الصلبة باستخدام طرح بسيط ، ويتم تحديد أقرب لون من خلال إيجاد الحد الأدنى للمسافة.
2. المسافة RGB:
هذه الطريقة تقيس المسافة المباشرة بين قيم RGB للألوان. يتم حساب اختلاف اللون كمسافة إقليدية في مساحة RGB ، ويتم العثور على أقرب لون عن طريق تقليل هذا الاختلاف.
3. تبنية مرجحة ، وتشبع ، ومقارنة السطوع:
تجمع هذه الطريقة بين اللون والتشبع والسطوع بطريقة مرجحة. يتم حساب السطوع المتصور ، ويتم حساب رقم اللون على أساس التشبع والسطوع. يتم تحديد أقرب لون من خلال تقليل المبلغ المرجح لفرق اللون ومسافة اللون.
التنفيذ
int extestcolor1 (قائمة
// سطوع اللون كما هو متصور: float getBrightness (color c) => (c.r * 0.299f c.g * 0.587f c.b * 0.114f) / 256f ؛ // المسافة بين اثنين من الأشكال: تعويم gethuedistance (تعويم Hue1 ، hue2) => Math.ABS (Hue1 - Hue2)> 180؟ 360 - Math.abs (Hue1 - Hue2): Math.ABS (Hue1 - Hue2) ؛ // يزن بالتشبع والسطوع: تعويم colornum (اللون c) => // المسافة في مساحة RGB: int colordiff (color c1 ، color c2) => (int) math.sqrt ((c1.r - c2.r) * (c1.r - c2.r) (c1.g - c2.g) * (c1.g - c2.g) (c1.b - c2.b) * (c1.b - c2.b)) ؛ يعتمد المقياس على التطبيق المحدد. إذا كان Hue هو الاعتبار الأساسي ، فإن المقارنة بين Hue فقط كافية. لمزيد من مطابقة الألوان العامة ، توفر مسافة RGB أو أساليب مقارنة التشبع والشرع نتائج أكثر دقة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3