@ 2014-07-25T08:36:00Z <?php
function ColorLuminance($hex, $lum)
{
// validate hex string
$hex = preg_replace("/[^0-9a-f]/i", "", $hex);
if (strlen($hex) < 6) {
$hex = $hex[0] + $hex[0] + $hex[1] + $hex[1] + $hex[2] + $hex[2];
}
// convert to decimal and change luminosity
$rgb = "#";
for ($i = 0; $i < 3; $i++) {
$c = base_convert(substr($hex, $i * 2, 2), 16, 10);
echo $c . " - ";
$c = base_convert((round(min(max(0, floatval($c . ($c * $lum))),255))), 10, 16);
echo $c . " - ";
$rgb .= substr('00' . $c, strlen($c));
echo $rgb . " - ";
}
return $rgb;
}
echo ColorLuminance("#69c", 0) . "\n"; // returns "#6699cc"
/*echo ColorLuminance("6699CC", 0.2) . "\n";// "#7ab8f5" - 20% lighter
echo ColorLuminance("69C", -0.5) . "\n";// "#334d66" - 50% darker
echo ColorLuminance("000", 1) . "\n";// "#000000" - true black cannot be made lighter!*/
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 Fatal error: Uncaught TypeError: Unsupported operand types: int + string in /in/oE3v6:8
Stack trace:
#0 /in/oE3v6(25): ColorLuminance('69c', 0)
#1 {main}
thrown in /in/oE3v6 on line 8
Process exited with code 255 . Output for 7.1.0 - 7.1.20 , 7.2.0 - 7.2.33 , 7.3.12 - 7.3.33 , 7.4.0 - 7.4.33 Warning: A non-numeric value encountered in /in/oE3v6 on line 8
Warning: A non-numeric value encountered in /in/oE3v6 on line 8
48 - ff - #ff - 0 - 0 - #ff00 - 0 - 0 - #ff0000 - #ff0000
Output for 4.3.0 - 4.3.11 , 4.4.0 - 4.4.9 , 5.0.0 - 5.0.5 , 5.1.0 - 5.1.6 , 5.2.0 - 5.2.17 , 5.3.0 - 5.3.29 , 5.4.0 - 5.4.45 , 5.5.24 - 5.5.35 , 5.6.8 - 5.6.28 , 7.0.0 - 7.0.20 48 - ff - #ff - 0 - 0 - #ff00 - 0 - 0 - #ff0000 - #ff0000
preferences:dark mode live preview
226.65 ms | 404 KiB | 313 Q