سؤال

سؤالي مرتبط بـ خوارزمية لتحويل أي عدد صحيح موجب إلى قيمة RGB ولكن في الحقيقة ليس نفس السؤال - أن هذا الرجل لديه في الغالب مشكلة تطبيع البيانات ، لدي بالفعل مشكلة في اختيار الألوان الجمالية.

لدي مجموعة من الأرقام بين -1.0 و +1.0. أحتاج إلى إنشاء خريطة حرارة مغطاة بالنص.

ما هي أبسط طريقة ، باستخدام PHP ، لتحويل كل رقم إلى لون HTML (#RRGGBB) ، وبهذه الطريقة التي لا يرتبط اللون الناتج فقط بدرجة حرارة (على سبيل المثال ، أبرد وأكثر احمرارًا للأكثر سخونة ، مع بعض السلس على نحو سلس الانتقال بينهما) ولكن أيضًا أنه مناسب بلون خلفية لنص اللون الأسود؟

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

المحلول

أود تنفيذه كتدرج خطي بسيط بين المكونات الحمراء والزرقاء ، باستخدام sprintf وظيفة للترميز على قيمة السداسي:

function toHeatColor($full) {
    $positive = ($full + 1) / 2;
    return sprintf("#%02xcc%02x", $positive * 51 + 204, (1 - $positive) * 51 + 204);
}

يمكنك أن ترى كيف ينظر نطاق الألوان http://jsfiddle.net/9qqku/. القيم المقابلة هي -1 و -0.75 و 0 و 0.75 و 1.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top