हेक्साडेसिमल कलर कोड को HSL (Hue, Saturation, Lightness) फॉर्मेट में बदलने के लिए यह PHP फंक्शन उपयोगी है। यह फंक्शन हेक्स मान को RGB में बदलता है, फिर HSL में कनवर्ट करता है।
पूरा फंक्शन कोड
function hexToHsl($hex) {
// # प्रीफिक्स हटाएं यदि मौजूद है
$hex = ltrim($hex, '#');
// 3-अंकीय हेक्स को 6-अंकीय में बदलें (जैसे #abc → #aabbcc)
if (strlen($hex) === 3) {
$hex = $hex[0].$hex[0].$hex[1].$hex[1].$hex[2].$hex[2];
}
// RGB घटक निकालें
$rgb = [
hexdec(substr($hex, 0, 2)) / 255,
hexdec(substr($hex, 2, 2)) / 255,
hexdec(substr($hex, 4, 2)) / 255
];
$max = max($rgb);
$min = min($rgb);
$l = ($max + $min) / 2;
if ($max === $min) {
$h = $s = 0; // एक्रोमैटिक (ग्रेस्केल)
} else {
$diff = $max - $min;
$s = $l > 0.5 ? $diff / (2 - $max - $min) : $diff / ($max + $min);
switch ($max) {
case $rgb[0]:
$h = ($rgb[1] - $rgb[2]) / $diff + ($rgb[1] < $rgb[2] ? 6 : 0);
break;
case $rgb[1]:
$h = ($rgb[2] - $rgb[0]) / $diff + 2;
break;
case $rgb[2]:
$h = ($rgb[0] - $rgb[1]) / $diff + 4;
break;
}
$h /= 6;
}
// H: 0-360°, S: 0-100%, L: 0-100% में वापस करें
return [
round($h * 360),
round($s * 100),
round($l * 100)
];
}
// उपयोग उदाहरण
print_r(hexToHsl('#FF5733')); // आउटपुट: Array ( [0] => 13 [1] => 100 [2] => 60 )
पैरामीटर और रिटर्न मान
- $hex - हेक्स कलर कोड (जैसे
#FF5733याFF5733) - रिटर्न -
[H, S, L]array जहां H=0-360, S=0-100, L=0-100
उपयोग के मामले
- CSS में डायनामिक कलर मैनिपुलेशन
- कलर पिकर टूल्स बनाना
- थीम जेनरेटर एप्लिकेशन