我在下面列出了包含imagefilter的问题。输出是彩色图像。我已经尝试了几个不同的选项,基于php.net文档,但我得到的是黑色图像或彩色图像,而不是灰度图像。
$data = file_get_contents($_FILES['image']['tmp_name']);
$vImg = imagecreatefromstring($data);
$dstImg = imagecreatetruecolor($nw, $nh);
imagefilter($dstImg, IMG_FILTER_GRAYSCALE); // imagefilter added
imagecopyresampled($dstImg, $vImg, 0, 0, $x1, $y1, $nw, $nh, $w, $h);
imagejpeg($dstImg, $path);
imagedestroy($dstImg);
我知道我的用法是完全错误的,所以任何帮助都会非常感激!
答案 0 :(得分:-1)
你需要制作源灰度。
替换
imagefilter($dstImg, IMG_FILTER_GRAYSCALE);
与
imagefilter($vImg, IMG_FILTER_GRAYSCALE);