This method uses the "convert -density {$x_resolution}x{$y_resolution}" parameter. However be aware, that Imagick::setResolution() is much more alike the "convert -density" option than Imagick::setImageResolution()
It's very irritating that both Imagick::setResolution() and Imagick::setImageResolution() are introduced with "Sets the image resolution."
Use Imagick::setResolution() prior to reading a raster image. This method does not affect an image. However this method tells the image to which size it has to be sized in relation to images inherent resolution! With this method you are able to affect the real pixel-size of an image after reading. E.g. your image has a size of 100x100 pixels and an inherent resolution of 72. Setting the Resolution to 144 and reading this image results in a new image size of 200x200 pixels.
<?php
$im = new Imagick();
$im->setResolution(144,144);
$im->readImage("test.eps");
$im->setImageFormat("png");
header("Content-Type: image/png");
echo $im;
?>
Use Imagick::setImageResolution() to alter the resolution of an already read image. This method does not actually change the size of an image, but has influence to methods, which depends on a given image resolution like Imagick::resampleImage(). E.g. your image has a size of 100x100 pixels and a resolution of 72. Setting ImageResolution to 144 does nothing, unless you are resampling image afterwards in relation to the ImageResolution you set!
<?php
$im = new Imagick();
$im->readImage("test.eps");
$im->setImageResolution(144,144);
$im->resampleImage (288,288,imagick::FILTER_UNDEFINED,1);
$im->setImageFormat("png");
header("Content-Type: image/png");
echo $im;
?>
which actually does the same like
<?php
$im = new Imagick();
$im->readImage("test.eps");
$im->setImageResolution(72,72);
$im->resampleImage (144,144,imagick::FILTER_UNDEFINED,1);
$im->setImageFormat("png");
header("Content-Type: image/png");
echo $im;
?>
PHP.mk документација
Imagick::setResolution
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
imagick.setresolution.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
imagick.setresolution.php
Imagick::setResolution
Референца за `imagick.setresolution.php` со подобрена типографија и навигација.
Imagick::setResolution
(PECL imagick 2, PECL imagick 3)
Imagick::setResolution — Ја поставува резолуцијата на сликата
= NULL
Ја поставува резолуцијата на сликата.
Параметри
x_resolution-
Хоризонталната резолуција.
y_resolution-
Вертикалната резолуција.
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успешен исход.
Белешки
Imagick::setResolution() мора да се повика пред вчитување или креирање на слика.
Види Исто така
- Imagick::setImageResolution() - Поставува резолуција на сликата
- Imagick::getImageResolution() - Ги добива резолуцијата X и Y на сликата
Белешки од корисници 2 забелешки
sualk at lednew dot de ¶
пред 16 години
carter dot sharon at gmail dot com ¶
пред 15 години
If you are reading or creating a new image and want to set the resolution you need to set the Image Units. Undefined image units will cause imagick to use the default resolution (72x72).
<?php
$img = new Imagick();
$img->setResolution(300,300);
$img->newimage(100,100,'none');
$img->setImageFormat('png');
// imagick::RESOLUTION_UNDEFINED imagick::RESOLUTION_PIXELSPERINCH imagick::RESOLUTION_PIXELSPERCENTIMETER
$img->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
print_r($img->identifyImage());
?>
Output
Array (
[resolution] => Array ( [x] => 300 [y] => 300 )
[units] => PixelsPerInch
)