©
This document uses PHP Chinese website manual Release
(PECL imagick 2.0.0)
Imagick::resampleImage — Resample image to desired resolution
$x_resolution
, float $y_resolution
, int $filter
, float $blur
)Resample image to desired resolution.
x_resolution
y_resolution
filter
blur
成功时返回 TRUE
。
Example #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 ();
}
?>
[#1] bleighty at dvidshub dot net [2013-11-22 14:53:47]
Please note that blur of 1 should not affect the image if I'm understanding correctly from this page:
http://www.php.net/manual/en/imagick.resizeimage.php
[#2] anagai at yahoo dot com [2011-12-02 12:14:06]
Lets say you want to reduce the resolution of uploaded images for the web.
The following will load a image at whatever resolution and resample it down to 72 dpi and save as a different file.
The dpi for setImageResolution() and resampleImage() should be whatever dpi your resampling too.
<?php
$image = new Imagick();
$image->readImage('image.jpg');
$image->setImageResolution(72,72);
$image->resampleImage(72,72,imagick::FILTER_UNDEFINED,0);
$image->writeImage('image72.jpg');
?>