函数名:Imagick::levelImage()
适用版本:ImageMagick 6.3.1及以上
用法:该函数用于调整图像的颜色级别。
语法: bool Imagick::levelImage(float $blackPoint, float $gamma, float $whitePoint [, int $channel = Imagick::CHANNEL_ALL])
参数:
- $blackPoint:黑点的百分比(0-100之间的浮点数)
- $gamma:Gamma值(浮点数)
- $whitePoint:白点的百分比(0-100之间的浮点数)
- $channel(可选):指定通道的常量值,如Imagick::CHANNEL_RED,Imagick::CHANNEL_GREEN,Imagick::CHANNEL_BLUE等。默认为Imagick::CHANNEL_ALL,表示对所有通道进行操作。
返回值: 成功时返回true,失败时返回false。
示例:
// 创建ImageMagick对象
$image = new Imagick();
// 读取图像文件
$image->readImage('input.jpg');
// 调整图像的颜色级别
$image->levelImage(0, 1, Imagick::getQuantum() * 0.5);
// 保存处理后的图像
$image->writeImage('output.jpg');
// 释放ImageMagick对象
$image->destroy();
上述示例中,我们首先创建了一个Imagick对象,并使用readImage()方法读取了一个名为input.jpg的图像文件。然后,我们调用levelImage()方法来调整图像的颜色级别,其中黑点设置为0%,Gamma值设置为1,白点设置为图像量化值的50%。最后,使用writeImage()方法将处理后的图像保存为output.jpg,并使用destroy()方法释放了Imagick对象。
请注意,示例中的参数值只是为了说明用法,您可以根据实际需求调整这些参数值。