📜  PHP | Gmagick resampleimage()函数(1)

📅  最后修改于: 2023-12-03 15:18:23.439000             🧑  作者: Mango

PHP | Gmagick Resampleimage()函数

Resampleimage()函数是Gmagick类的内置函数,用于重新抽样Gmagick对象的图像。重新抽样图像时,可以使用不同的算法和过滤器进行插值,以改进图像的质量和大小。

语法
public Gmagick Gmagick::resampleimage(float $x_resolution, float $y_resolution, int $filter, float $blur)
参数
  • x_resolution:新图像的水平分辨率,以像素/英寸为单位。
  • y_resolution:新图像的垂直分辨率,以像素/英寸为单位。如果未指定,则使用水平分辨率。
  • 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插值。
  • blur:指定用于过滤器的模糊值。该参数是可选的,仅对某些过滤器有效。
返回值

返回已重新抽样的Gmagick对象。如果发生错误,则返回false

示例
将图像重新抽样,使用默认的过滤器
<?php
// 创建Gmagick对象
$image = new Gmagick('image.jpg');

// 重新抽样图像(分辨率降低)
$image_resampled = $image->resampleimage(72, 72);

// 显示重新抽样后的图像
header('Content-type: image/jpeg');
echo $image_resampled;
?>
将图像重新抽样,使用Gaussian过滤器
<?php
// 创建Gmagick对象
$image = new Gmagick('image.jpg');

// 重新抽样图像(分辨率降低,使用Gaussian过滤器)
$image_resampled = $image->resampleimage(72, 72, Gmagick::FILTER_GAUSSIAN);

// 显示重新抽样后的图像
header('Content-type: image/jpeg');
echo $image_resampled;
?>
将图像重新抽样,使用Lanczos过滤器和模糊值为0.8
<?php
// 创建Gmagick对象
$image = new Gmagick('image.jpg');

// 重新抽样图像(分辨率降低,使用Lanczos过滤器)
$image_resampled = $image->resampleimage(72, 72, Gmagick::FILTER_LANCZOS, 0.8);

// 显示重新抽样后的图像
header('Content-type: image/jpeg');
echo $image_resampled;
?>
参考链接