牛牛在线工具

Imagick::orderedPosterizeImage()

收录 8868 个 PHP 函数,含用途说明与用法示例。

Imagick::orderedPosterizeImage()

通过有序抖动算法对图像进行分级处理

函数名: Imagick::orderedPosterizeImage() 适用版本: Imagick 3.4.0 用法:该函数通过有序抖动算法对图像进行分级处理。它将图像的颜色减少到指定的级别,并通过有序抖动算法来减小颜色平滑度,从而产生一种类似于卡通效果的图像。 语法: public Imagick::orderedPosterizeImage(int $threshold_map, string $channel = Imagick::CHANNEL_ALL) 参数: $threshold_map: 指定用于抖动算法的阈值映射。它是一个包含256个整数的数组,用于指定每个颜色级别的阈值。较大的值将产生较少的颜色级别,较小的值将产生更多的颜色级别。 $channel(可选): 指定要应用该函数的通道。默认为 Imagick::CHANNEL_ALL,表示所有通道。 返回值:成功时返回 true。 示例: // 创建一个 Imagick 对象并加载图像 $image = new Imagick('input.jpg'); // 定义阈值映射数组 $threshold_map = [ 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400, 416, 432, 448, 464, 480, 496, 512, 528, 544, 560, 576, 592, 608, 624, 640, 656, 672, 688, 704, 720, 736, 752, 768, 784, 800, 816, 832, 848, 864, 880, 896, 912, 928, 944, 960, 976, 992, 1008, // 其他阈值... ]; // 应用有序抖动算法进行分级处理 $image->orderedPosterizeImage($threshold_map); // 显示处理后的图像 header("Content-Type: image/jpg"); echo $image; 在上面的示例中,我们首先创建了一个 Imagick 对象并加载了一个名为 "input.jpg" 的图像。然后,我们定义了一个阈值映射数组,其中包含了256个整数,用于指定每个颜色级别的阈值。最后,我们调用了 orderedPosterizeImage() 函数,并将阈值映射数组作为参数传递进去,实现了有序抖动算法的分级处理。处理后的图像将通过 echo $image 显示出来。