要在PHP中实现图片滤镜效果,可以使用GD库或Imagick库。以下是使用GD库的示例代码:

// 加载原始图片
$image = imagecreatefromjpeg('original.jpg');

// 创建一个新的图像层,与原始图片大小相同
$filteredImage = imagecreatetruecolor(imagesx($image), imagesy($image));

// 应用滤镜效果
imagefilter($image, IMG_FILTER_GRAYSCALE); // 灰度滤镜
// 可以使用其他滤镜效果,如:IMG_FILTER_BRIGHTNESS,IMG_FILTER_CONTRAST等

// 将滤镜效果应用到新的图像层上
imagecopy($filteredImage, $image, 0, 0, 0, 0, imagesx($image), imagesy($image));

// 输出滤镜效果后的图片
header('Content-Type: image/jpeg');
imagejpeg($filteredImage);

// 释放内存
imagedestroy($image);
imagedestroy($filteredImage);

上述代码使用imagecreatefromjpeg函数加载原始图片,然后创建一个与原始图片大小相同的新图像层。通过imagefilter函数应用滤镜效果,再使用imagecopy函数将滤镜效果应用到新的图像层上。最后用imagejpeg函数输出滤镜效果后的图片。

如果希望使用Imagick库实现图片滤镜效果,可以参考以下示例代码:

// 加载原始图片
$image = new Imagick('original.jpg');

// 应用滤镜效果
$image->modulateImage(100, 0, 100); // 灰度滤镜
// 可以使用其他滤镜效果,如:brightnessContrastImage,colorizeImage等

// 输出滤镜效果后的图片
header('Content-Type: image/jpeg');
echo $image;

// 释放内存
$image->destroy();

上述代码使用Imagick类加载原始图片,然后使用相关方法应用滤镜效果。最后通过echo语句输出滤镜效果后的图片。