Darker color

This function makes a color darker.
You can enter the difference between the colors (default = 20).

function ColorDarken($color, $dif=20){
    $color = str_replace('#', '', $color);
    if (strlen($color) != 6){ return '000000'; }
    $rgb = '';
    for ($x=0;$x<3;$x++){
        $c = hexdec(substr($color,(2*$x),2)) - $dif;
        $c = ($c < 0) ? 0 : dechex($c);
        $rgb .= (strlen($c) < 2) ? '0'.$c : $c;
    return '#'.$rgb;
Snippet Details

for ($x=1; $x < 20; $x++){
    // Start color: 
    $c = ColorDarken('#FF481D', ($x * 3));
    print "<div style='background-color: $c; color: $c; font-size: 50%; padding: 0px;'>.</div>\n";

Sorry folks, comments have been deactivated for now due to the large amount of spam.

Please try to post your questions or problems on a related programming board, a suitable mailing list, a programming chat-room,
or use a QA website like stackoverflow because I'm usually too busy to answer any mails related
to my code snippets. Therefore please just mail me if you found a serious bug... Thank you!

Older comments:

Mark July 11, 2011 at 15:04
This is really nice, but how about making colours lighter too?