PHP Conference Japan 2024

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
9 年前
请注意,我在 Ubuntu Linux 15.10 上使用此函数时 CPU 使用率极高。切换到 resizeImage 函数解决了此问题。
bleighty at dvidshub dot net
11 年前
请注意,如果我从以下页面正确理解,模糊度为 1 应该不会影响图像
https://php.net/manual/en/imagick.resizeimage.php
anagai at yahoo dot com
13 年前
假设您想降低上传到网络的图像的解析度。

以下操作将加载任何解析度的图像并将其重采样到 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