灰度PHP图像过滤器问题


Grayscale PHP imagefilter issues

我在下面合并图像过滤器时遇到了问题。输出的是彩色图像。我尝试了几个不同的选项,基于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);

我知道我的用法是完全错误的,所以任何帮助将非常感激!

您需要将源设置为灰度

代替

imagefilter($dstImg, IMG_FILTER_GRAYSCALE);

imagefilter($vImg, IMG_FILTER_GRAYSCALE);