函数名:Gmagick::resizeimage()
适用版本:PHP扩展Gmagick版本2.0.1以上
用法:该函数用于调整图像的大小。它会根据指定的宽度和高度参数缩放图像。如果只提供了宽度或高度参数,则会根据提供的参数等比例缩放图像。
语法:bool Gmagick::resizeimage(int $width, int $height, int $filter, float $blur [, bool $bestfit = FALSE])
参数:
- $width: 调整后的图像宽度(像素)
- $height: 调整后的图像高度(像素)
- $filter: 缩放过程中使用的滤波器类型,可以是以下常量之一:
- Gmagick::FILTER_UNDEFINED (默认): 使用未定义的滤波器
- Gmagick::FILTER_POINT: 使用最近邻插值
- Gmagick::FILTER_BOX: 使用盒状滤波器
- Gmagick::FILTER_TRIANGLE: 使用三角滤波器
- Gmagick::FILTER_HERMITE: 使用Hermite滤波器
- Gmagick::FILTER_HANNING: 使用Hanning滤波器
- Gmagick::FILTER_HAMMING: 使用Hamming滤波器
- Gmagick::FILTER_BLACKMAN: 使用Blackman滤波器
- Gmagick::FILTER_GAUSSIAN: 使用Gaussian滤波器
- Gmagick::FILTER_QUADRATIC: 使用Quadratic滤波器
- Gmagick::FILTER_CUBIC: 使用Cubic滤波器
- Gmagick::FILTER_CATROM: 使用Catrom滤波器
- Gmagick::FILTER_MITCHELL: 使用Mitchell滤波器
- Gmagick::FILTER_LANCZOS: 使用Lanczos滤波器
- Gmagick::FILTER_BESSEL: 使用Bessel滤波器
- Gmagick::FILTER_SINC: 使用Sinc滤波器
- $blur: 模糊的程度,值越大表示模糊效果越明显
- $bestfit (可选): 是否将图像调整为适应指定宽度和高度的最佳适应大小,默认为FALSE
返回值:成功时返回TRUE,失败时返回FALSE
示例:
// 创建一个Gmagick对象
$gmagick = new Gmagick('path/to/image.jpg');
// 调整图像大小为200x200像素,使用三角滤波器和默认的模糊程度
$gmagick->resizeimage(200, 200, Gmagick::FILTER_TRIANGLE, 1.0);
// 将调整后的图像保存到新文件中
$gmagick->write('path/to/resized_image.jpg');
注意事项:
- 该函数需要安装Gmagick扩展并启用相关库才能正常使用。
- 调整图像大小可能会导致图像失真或变形,根据实际需求选择合适的滤波器和模糊程度。
- 如果$bestfit参数设置为TRUE,函数会尝试调整图像大小以适应指定的宽度和高度,但不会保持原始图像的纵横比。