函数名: Imagick::sigmoidalContrastImage()
适用版本: Imagick 2.0.0 及以上版本
函数说明:该函数通过应用sigmoidal对比度调整来改变图像的对比度。sigmoidal调整是一种非线性调整,可以在图像的不同区域应用不同的对比度。
用法:
Imagick Imagick::sigmoidalContrastImage(bool $sharpen, float $alpha, float $beta, int $channel = Imagick::CHANNEL_DEFAULT)
参数:
- $sharpen(布尔型):指定是否应用锐化,默认为false。如果设置为true,则会应用锐化。
- $alpha(浮点型):指定调整的斜率。较高的值将增加对比度,较低的值将减少对比度。
- $beta(浮点型):指定调整的偏移量。较高的值将增加亮度,较低的值将减少亮度。
- $channel(整型):指定应用调整的通道,默认为Imagick::CHANNEL_DEFAULT,表示应用于所有通道。
返回值:成功时返回一个新的Imagick对象,失败时返回false。
示例:
// 创建Imagick对象并加载图像
$image = new Imagick('input.jpg');
// 应用sigmoidal对比度调整
$sharpen = true;
$alpha = 1.0;
$beta = 0.5;
$channel = Imagick::CHANNEL_DEFAULT;
$result = $image->sigmoidalContrastImage($sharpen, $alpha, $beta, $channel);
if ($result) {
// 显示调整后的图像
header('Content-Type: image/jpeg');
echo $result;
} else {
echo '对比度调整失败';
}
上述示例中,我们加载了一个名为input.jpg的图像,并使用sigmoidalContrastImage()函数进行对比度调整。我们设置$sharpen为true,这意味着在应用调整时会进行锐化。$alpha的值为1.0,表示斜率为1.0,即不进行斜率调整。$beta的值为0.5,表示偏移量为0.5,即增加亮度。我们将调整应用于所有通道(默认值),并将调整结果输出到浏览器上。如果调整成功,将显示调整后的图像;如果失败,将显示错误信息。