PHP Code:
function img_tint($path_image, $red, $green, $blue)
{
$im = imagecreatefromjpeg($path_image);
$pixel = array();
$n_im = imagecreatetruecolor(imagesx($im),imagesy($im));
$fond = imagecolorallocatealpha($n_im, 255, 255, 255, 0);
imagefill($n_im, 0, 0, $fond);
for($y=0;$y<imagesy($n_im);$y++)
{
for($x=0;$x<imagesx($n_im);$x++)
{
$rgb = imagecolorat($im, $x, $y);
$pixel = imagecolorsforindex($im, $rgb);
$r = min(round($red*$pixel['red']/169),255);
$g = min(round($green*$pixel['green']/169),255);
$b = min(round($blue*$pixel['blue']/169),255);
$a = $pixel['alpha'];
$pixelcolor = imagecolorallocatealpha($n_im, $r, $g, $b, $a);
imagealphablending($n_im, TRUE);
imagesetpixel($n_im, $x, $y, $pixelcolor);
}
}
header("Content-type: image/jpeg");
imagejpeg($n_im, time().$path_image.'.jpg');
imagedestroy($n_im);
}
//img_tint("neyo.jpg", 167, 59, 62); //too red
//img_tint("neyo.jpg", 57, 0, 12); //too dark and red
//img_tint("neyo.jpg", 15, 200, 32); //too green
//img_tint("neyo.jpg", 15, 100, 32); //bit dark and still too green
//img_tint("neyo.jpg", 15, 50, 132); //too blue
//img_tint("neyo.jpg", 15, 10, 32); //far too dark
//img_tint("neyo.jpg", 35, 30, 62); //still too dark, bit purple
img_tint("neyo.jpg", 15, 50, 22);
Bookmarks