函数名:Gmagick::resampleimage()
适用版本:Gmagick扩展需要安装和启用,适用于PHP 5.1.3及以上版本。
用法:该函数用于重新采样图像,改变图像的分辨率和大小。
语法:public Gmagick Gmagick::resampleimage(float $x_resolution, float $y_resolution, int $filter_type[, float $blur])
参数:
- $x_resolution:目标图像的水平分辨率,以像素/英寸为单位。
- $y_resolution:目标图像的垂直分辨率,以像素/英寸为单位。
- $filter_type:指定采样过程中使用的滤波器类型。可选值有:
- Gmagick::FILTER_UNDEFINED (0):未定义的滤波器。
- Gmagick::FILTER_POINT (1):最近邻插值。
- Gmagick::FILTER_BOX (2):盒式滤波器。
- Gmagick::FILTER_TRIANGLE (3):三角形滤波器。
- Gmagick::FILTER_HERMITE (4):Hermite滤波器。
- Gmagick::FILTER_HANNING (5):Hanning滤波器。
- Gmagick::FILTER_HAMMING (6):Hamming滤波器。
- Gmagick::FILTER_BLACKMAN (7):Blackman滤波器。
- Gmagick::FILTER_GAUSSIAN (8):Gaussian滤波器。
- Gmagick::FILTER_QUADRATIC (9):二次滤波器。
- Gmagick::FILTER_CUBIC (10):三次滤波器。
- Gmagick::FILTER_CATROM (11):Catrom滤波器。
- Gmagick::FILTER_MITCHELL (12):Mitchell滤波器。
- Gmagick::FILTER_LANCZOS (13):Lanczos滤波器。
- Gmagick::FILTER_BESSEL (14):Bessel滤波器。
- Gmagick::FILTER_SINC (15):Sinc滤波器。
- Gmagick::FILTER_KAISER (16):Kaiser滤波器。
- $blur (可选):模糊半径,用于柔化图像。
返回值:返回一个新的Gmagick对象,包含重新采样后的图像。
示例:
<?php
// 创建Gmagick对象
$gmagick = new Gmagick('image.jpg');
// 重新采样图像
$resampled = $gmagick->resampleimage(72, 72, Gmagick::FILTER_LANCZOS, 1.0);
// 输出结果
header('Content-type: image/jpeg');
echo $resampled;
?>
上述示例中,我们首先创建了一个Gmagick对象,加载了名为"image.jpg"的图像。然后,我们使用resampleimage()函数重新采样图像,将分辨率设置为72像素/英寸,并使用Lanczos滤波器进行采样。最后,我们将结果以JPEG格式输出到浏览器。