embossImage() 实际上将返回具有 3D 效果的彩色图像。如果您想要灰度图像,您可以使用常规 GD 函数中的 imagefilter()。
<?php
header("Content-type: image/jpeg");
$image = new Imagick("opossum.jpg");
$image->embossImage( 0, 1 );
echo $image;
?>
(PECL imagick 2, PECL imagick 3)
Imagick::embossImage — 返回具有三维效果的灰度图像
返回具有三维效果的灰度图像。我们将图像与给定半径和标准差 (sigma) 的高斯算子进行卷积。为了获得合理的结果,半径应大于 sigma。使用半径 0,它将为您选择合适的半径。
radius
效果的半径
sigma
效果的 sigma
成功时返回 true
。
在出错时抛出 ImagickException。
示例 #1 Imagick::embossImage()
<?php
function embossImage($imagePath, $radius, $sigma) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->embossImage($radius, $sigma);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}
?>