English | 简体中文 | 繁體中文
查询

Gmagick::resizeimage()函数—用法及示例

「 调整图像的大小 」


函数名: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,函数会尝试调整图像大小以适应指定的宽度和高度,但不会保持原始图像的纵横比。
补充纠错
上一个函数: Gmagick::rollimage()函数
下一个函数: Gmagick::resampleimage()函数
热门PHP函数
分享链接