牛牛在线工具

Imagick::resampleImage()

收录 8868 个 PHP 函数,含用途说明与用法示例。

Imagick::resampleImage()

重新采样图像,改变其分辨率和像素密度

函数名:Imagick::resampleImage() 适用版本:PHP 5 >= 5.4.0, PECL imagick >= 2.3.0 用法:该函数用于重新采样图像,改变其分辨率和像素密度。 语法:public Imagick::resampleImage(float $x_resolution, float $y_resolution, int $filter, float $blur) 参数: $x_resolution: 指定图像的水平分辨率(每英寸像素数)。 $y_resolution: 指定图像的垂直分辨率(每英寸像素数)。 $filter: 指定用于重新采样的滤波器类型,可选值有: Imagick::FILTER_UNDEFINED (0): 未定义滤波器。 Imagick::FILTER_POINT (1): 点滤波器。 Imagick::FILTER_BOX (2): 盒状滤波器。 Imagick::FILTER_TRIANGLE (3): 三角形滤波器。 Imagick::FILTER_HERMITE (4): Hermite滤波器。 Imagick::FILTER_HANNING (5): Hanning滤波器。 Imagick::FILTER_HAMMING (6): Hamming滤波器。 Imagick::FILTER_BLACKMAN (7): Blackman滤波器。 Imagick::FILTER_GAUSSIAN (8): Gaussian滤波器。 Imagick::FILTER_QUADRATIC (9): Quadratic滤波器。 Imagick::FILTER_CUBIC (10): Cubic滤波器。 Imagick::FILTER_CATROM (11): Catrom滤波器。 Imagick::FILTER_MITCHELL (12): Mitchell滤波器。 Imagick::FILTER_LANCZOS (13): Lanczos滤波器。 Imagick::FILTER_BESSEL (14): Bessel滤波器。 Imagick::FILTER_SINC (15): Sinc滤波器。 $blur: 指定滤波器的模糊量。 返回值:成功时返回 true,失败时返回 false。 示例: // 创建 Imagick 对象 $image = new Imagick('input.jpg'); // 设置分辨率为 300x300 像素/英寸,使用 Lanczos 滤波器,模糊量为 1.0 $resampled = $image->resampleImage(300, 300, Imagick::FILTER_LANCZOS, 1.0); if ($resampled) { // 保存重新采样后的图像 $resampled->writeImage('output.jpg'); echo "图像重新采样成功!"; } else { echo "图像重新采样失败!"; } // 销毁对象 $image->destroy(); $resampled->destroy(); 注意事项: 滤波器类型和模糊量的选择会影响图像的质量和处理速度,需要根据实际需求进行调整。 重新采样图像可能会导致图像质量的损失,特别是当目标分辨率较低于原始图像分辨率时。建议在实际应用中进行充分测试和调优。 使用前需要确保已经安装了 imagick 扩展,并且 PHP 版本符合要求。