İllaki bir gün bi yerlerde ihtiyacınız olabilir. Benim bugünlerde oldu mesela bende yazmaya gereği duydum. Benim gibi başkalarıda uğraşmasın diye burada paylaşıyorum. Kolay gelsin
PHP:
function PhpGreySclae($ImageFile){
//Hasan RUŞANOĞLU | www.phpogreniyorum.com
$ImageSize = getimagesize($ImageFile);
$width = $ImageSize[0];
$height = $ImageSize[1];
$mime = $ImageSize['mime'];
switch ($mime) {
case "image/gif": $source = imagecreatefromgif($ImageFile); break;
case "image/jpeg": $source = imagecreatefromjpeg($ImageFile); break;
case "image/png": $source = imagecreatefrompng($ImageFile); break;
case "image/bmp": $source = imagecreatefromwbmp($ImageFile); break;
}
$bwimage= imagecreate($width, $height);
for ($c=0;$c<256;$c++)
{
$palette[$c] = imagecolorallocate($bwimage,$c,$c,$c);
}
function yiq($r,$g,$b)
{
return (($r*0.299)+($g*0.587)+($b*0.114));
}
for ($y=0;$y<$height;$y++)
{
for ($x=0;$x<$width;$x++)
{
$rgb = imagecolorat($source,$x,$y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$gs = yiq($r,$g,$b);
imagesetpixel($bwimage,$x,$y,$palette[$gs]);
}
}
switch ($mime) {
case "image/gif": header('Content-type: image/gif'); $ImageOut = imagepng($bwimage); break;
case "image/jpeg": header('Content-type: image/jpeg'); $ImageOut = imagejpeg($bwimage); break;
case "image/png": header('Content-type: image/png'); $ImageOut = imagepng($bwimage); break;
case "image/bmp": header('Content-Type: image/vnd.wap.wbmp'); $ImageOut = imagewbmp($bwimage); break;
}
return $ImageOut;
}
$ImageFile = 'eksiborsa/HaberImg/a6b6ecd1ef83bb8e2f10e4ff99200cc97038f301/500_c4ca4238a0b923820dcc509a6f75849b.png';
PhpGreySclae($ImageFile);