📅  最后修改于: 2023-12-03 15:18:23.439000             🧑  作者: Mango
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;
?>
<?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;
?>
<?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;
?>