Imagick::getImageResolution

(PECL imagick 2.0.0)

Imagick::getImageResolution获取图像的x,y轴分辨率

说明

array Imagick::getImageResolution ( void )

获取图像的x,y轴分辨率

返回值

返回分辨率值的数组

错误/异常

错误时抛出 ImagickException。

User Contributed Notes

christian at cvj dot se 21-Feb-2014 08:48
For me getImageResolution() always returns X and Y resolution in pixels per centimeter, no matter if I set it with setImageUnits() or not.

So an easy way to convert the result from pixels per centimeter to pixels per inch is to do this:

<?php
$resource
= new Imagick($path);
$imageResolution = $resource->getImageResolution();

if (!empty(
$imageResolution['y'])) {
$imageResolution['y'] =
                           
round($imageResolution['y'] * 2.54, 2);
}

if (!empty(
$imageResolution['x'])) {
$imageResolution['x'] =
                           
round($imageResolution['x'] * 2.54, 2);
}

?>
Alex 27-Sep-2013 07:00
Here is simple code snippet to get image DPI:
<?php
$img
= new imagick( 'file.jpg' );
print_r($img->getImageResolution()); // Array ( [x] => 72 [y] => 72 )

?>
Simon Epskamp 20-Sep-2013 05:30
Please note that this method seems to return the image density, or DPI, not it's output resolution. If you want the output resolution, please refer to Imagick::getImageGeometry: http://www.php.net/manual/en/imagick.getimagegeometry.php

See http://www.imagemagick.org/Usage/basics/#density for more infomation on the difference.
Shawn Pyle 18-Apr-2011 09:53
As of the following versions, the results of this function returns the x and y resolution as floats.

desktop:~$ convert --version
Version: ImageMagick 6.6.9-1 2011-04-14 Q8 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP OpenCL

desktop:~$ pecl list
Installed packages, channel pecl.php.net:
==========================
Package Version State
imagick 3.0.1   stable

desktop:~$ php --version
PHP 5.3.5 (cli) (built: Mar  1 2011 12:57:53)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
perching_eagle at yahoo dot com 05-Oct-2007 03:14
//location of image: c:/htdocs/rose.jpg
$path="c:/htdocs/";
$image=new Imagick($path."rose.jpg");
$array=$image->getImageResolution();
print_r($array);

result:
Array
(
    [x]=>75
    [y]=>75
)