函数名称:Gmagick::quantizeimages()
函数描述:该函数用于减少图像中的颜色数量,以减小图像的尺寸和文件大小。
适用版本:PHP 5 >= 5.4.0, PECL gmagick >= 1.1.0
语法:public Gmagick Gmagick::quantizeimages(int $numberColors, int $colorSpace, int $treeDepth, bool $dither, bool $measureError)
参数:
- $numberColors:要减少到的颜色数量。
- $colorSpace:指定颜色空间的常量。可选值有:
- Gmagick::COLORSPACE_UNDEFINED (0):未定义的颜色空间。
- Gmagick::COLORSPACE_RGB (1):RGB颜色空间。
- Gmagick::COLORSPACE_GRAY (2):灰度颜色空间。
- Gmagick::COLORSPACE_TRANSPARENT (3):透明颜色空间。
- $treeDepth:指定减少颜色数量的树深度。较大的值会产生更准确的结果,但会导致更长的计算时间。
- $dither:是否使用抖动算法进行颜色减少。如果设置为true,则会使用抖动算法。
- $measureError:是否测量颜色减少的误差。如果设置为true,则会测量误差。
返回值:返回一个新的Gmagick对象,其中包含减少颜色数量后的图像。
示例:
$gmagick = new Gmagick('image.jpg');
// 减少图像颜色数量为256,使用RGB颜色空间,树深度为8,使用抖动算法,测量误差
$quantizedImage = $gmagick->quantizeimages(256, Gmagick::COLORSPACE_RGB, 8, true, true);
// 保存减少颜色数量后的图像
$quantizedImage->writeImage('quantized_image.jpg');
上述示例中,我们首先创建了一个Gmagick对象,并加载了名为'image.jpg'的图像。然后,我们使用quantizeimages()函数将图像的颜色数量减少为256,使用RGB颜色空间,树深度为8,启用抖动算法,同时测量误差。最后,我们将减少颜色数量后的图像保存为'quantized_image.jpg'。