函数名:Imagick::shadeImage()
适用版本:Imagick 2.0.0 及以上版本
函数说明:Imagick::shadeImage() 方法用于通过添加阴影效果来改变图像的亮度和饱和度。该方法将图像中的每个像素进行处理,并根据指定的光照角度和阴影颜色进行着色。
用法:
bool Imagick::shadeImage ( bool $gray , float $azimuth , float $elevation )
参数:
$gray
(可选):指定是否将图像转换为灰度图像。默认值为 false。$azimuth
:光照角度,范围为 0 到 360 度。$elevation
:光照高度角度,范围为 0 到 90 度。
返回值:
- 成功时返回 true,失败时返回 false。
示例:
// 创建一个 Imagick 对象并读取图像
$image = new Imagick('path/to/image.jpg');
// 添加阴影效果
$gray = false; // 不转换为灰度图像
$azimuth = 45; // 光照角度为 45 度
$elevation = 30; // 光照高度角度为 30 度
$image->shadeImage($gray, $azimuth, $elevation);
// 显示或保存处理后的图像
header('Content-Type: image/jpeg');
echo $image;
// 保存图像
$image->writeImage('path/to/output.jpg');
注意事项:
- 在使用该方法之前,需要确保已经安装了 Imagick 扩展。
- 该方法会直接修改原始图像,如果需要保留原始图像,建议先创建副本进行操作。
- 光照角度和高度角度的取值范围需要根据实际需求进行调整,以获得期望的阴影效果。
- 可以使用其他 Imagick 方法对图像进行进一步处理,以实现更复杂的效果。