©
이 문서에서는 PHP 중국어 웹사이트 매뉴얼 풀어 주다
(PECL imagick 2.0.0)
Imagick::getImageResolution — 获取图像的x,y轴分辨率
获取图像的x,y轴分辨率
返回分辨率值的数组
错误时抛出 ImagickException。
[#1] christian at cvj dot se [2014-02-20 23:48:18]
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);
}
?>
[#2] Alex [2013-09-27 10:00:51]
Here is simple code snippet to get image DPI:
<?php
$img = new imagick( 'file.jpg' );
print_r($img->getImageResolution()); // Array ( [x] => 72 [y] => 72 )
?>
[#3] Simon Epskamp [2013-09-20 08:30:40]
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.
[#4] Shawn Pyle [2011-04-18 12:53:47]
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
[#5] perching_eagle at yahoo dot com [2007-10-04 18:14:32]
//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
)