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