函数名: Imagick::autoLevelImage()
适用版本: Imagick 2.1.0 及以上版本
用法: Imagick::autoLevelImage (bool $CHANNEL = false )
描述:这个函数用于自动调整图像的亮度和对比度,使得图像的像素值分布更均匀。它可以应用于整个图像,也可以应用于指定的通道。
参数:
- $CHANNEL(可选):用于指定应用auto-level的通道。默认为false,表示应用于整个图像。可以通过Imagick::CHANNEL_*常量来指定通道,如Imagick::CHANNEL_RED、Imagick::CHANNEL_GREEN等。
返回值:成功时返回 true,失败时返回 false。
示例:
// 创建一个Imagick对象
$image = new Imagick('image.jpg');
// 应用auto-level到整个图像
$image->autoLevelImage();
// 应用auto-level到红色通道
$image->autoLevelImage(Imagick::CHANNEL_RED);
// 保存修改后的图像
$image->writeImage('output.jpg');
上述示例中,首先创建了一个Imagick对象,并加载了名为image.jpg的图像文件。然后,通过调用autoLevelImage()函数,可以将auto-level应用于整个图像。接着,可以选择性地将auto-level应用于指定的通道,如红色通道。最后,使用writeImage()函数将修改后的图像保存为output.jpg文件。
请注意,为了使用Imagick类和相关函数,必须安装Imagick扩展并启用该扩展。