Imagick::resampleImage

(PECL imagick 2, PECL imagick 3)

Imagick::resampleImage将图像重新采样到所需的分辨率

描述

public Imagick::resampleImage(
    float $x_resolution,
    float $y_resolution,
    int $filter,
    float $blur
): bool

将图像重新采样到所需的分辨率。

参数

x_resolution

y_resolution

filter

blur

返回值

成功时返回 true

示例

示例 #1 Imagick::resampleImage()

<?php
function resampleImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));

$imagick->resampleImage(200, 200, \Imagick::FILTER_LANCZOS, 1);
header("Content-Type: image/jpg");
echo
$imagick->getImageBlob();
}

?>

添加注释

用户贡献的注释 3 个注释

simon
8 年前
请注意,我在 Ubuntu Linux 15.10 上使用此函数时 CPU 使用率极高。切换到 resizeImage 函数解决了问题。
bleighty at dvidshub dot net
10 年前
请注意,如果我理解正确,模糊度为 1 应该不会影响图像
https://php.net/manual/en/imagick.resizeimage.php
anagai at yahoo dot com
12 年前
假设您想降低上传到 web 的图像的分辨率。

以下操作将加载任意分辨率的图像并将其重新采样为 72 dpi,然后保存为另一个文件。

setImageResolution() 和 resampleImage() 的 dpi 应该与您重新采样的 dpi 相同。

<?php
$image
= new Imagick();
$image->readImage('image.jpg');
$image->setImageResolution(72,72);
$image->resampleImage(72,72,imagick::FILTER_UNDEFINED,0);
$image->writeImage('image72.jpg');
?>
To Top