View Single Post
Old 03-28-2008, 10:50 PM   #6 (permalink)
Nor
The Addict
 
Join Date: Nov 2007
Posts: 282
Thanks: 61
Nor is on a distinguished road
Default

I tried it :P

PHP Code:
<?php
//cleanscript.com 2008
$image "smiley.png";
$data getimagesize($image);
$width intval($data[0]);
$height intval($data[1]);
$cloneH 0;
$hex "FF0000";
$oldhex "FCFF00";
$im imagecreatefrompng($image);
$color imagecolorallocate($im,hexdec(substr($hex,0,2)),hexdec(substr($hex,2,2)),hexdec(substr($hex,4,6)));
for(
$cloneH=0;$cloneH<$height;$cloneH++)
{
    for(
$x=0;$x<$width;$x++)
    {
        if( 
colormatch($im,$x,$cloneH$oldhex) )
            
imagesetpixel($im$x$cloneH$color);
    }    
}
header("Content-Type: {$data['mime']}");
imagepng($im);
function 
colormatch($image,$x,$y,$hex)
{
    
$rgb imagecolorat($image,$x,$y);
    
$r = ($rgb >> 16) & 0xFF;
    
$g = ($rgb >> 8) & 0xFF;
    
$b $rgb 0xFF;
    
    
$r2 hexdec(substr($hex,0,2));
    
$g2 hexdec(substr($hex,2,2));
    
$b2 hexdec(substr($hex,4,6));
    if( 
$r == $r2 && $b == $b2 && $g == $g2 )
        return 
true;
    return 
false;
    
//echo "$r $r2, $g $g2, $b $b2";
}
?>
The image gets fuzzy though. http://nbbmodbase.krawp.com/imagecolorswitch/ :( how would I make it ebtter?
__________________
PHP/XHTML Freelancer:
Cleanscript.com v3 - Programming starting at just $5 act now!
Nor is offline  
Reply With Quote