PHP Conference Japan 2024

Imagick::getImageResolution

(PECL imagick 2, PECL imagick 3)

Imagick::getImageResolution取得影像的 X 和 Y 解析度

描述

public Imagick::getImageResolution(): array

取得影像的 X 和 Y 解析度。

參數

此函式沒有參數。

回傳值

以陣列形式回傳解析度。

錯誤/例外

發生錯誤時會拋出 ImagickException。

新增註解

使用者貢獻的註解 4 個註解

5
christian at cvj dot se
10 年前
對我來說,getImageResolution() 總是回傳每公分的像素 X 和 Y 解析度,無論我是否使用 setImageUnits() 設定它。

因此,將結果從每公分的像素轉換為每英吋的像素的簡單方法是這樣做

<?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);
}

?>
3
Simon Epskamp
11 年前
請注意,此方法似乎會回傳影像密度或 DPI,而不是其輸出解析度。如果您想要輸出解析度,請參考 Imagick::getImageGeometry:https://php.dev.org.tw/manual/en/imagick.getimagegeometry.php

請參閱 https://imagemagick.dev.org.tw/Usage/basics/#density 以取得有關差異的更多資訊。
1
perching_eagle at yahoo dot com
17 年前
//影像位置:c:/htdocs/rose.jpg
$path="c:/htdocs/";
$image=new Imagick($path."rose.jpg");
$array=$image->getImageResolution();
print_r($array);

結果
陣列
(
[x]=>75
[y]=>75
)
0
Shawn Pyle
13 年前
從以下版本開始,此函式的結果會以浮點數回傳 x 和 y 解析度。

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

desktop:~$ pecl list
已安裝的套件,頻道 pecl.php.net
==========================
套件 版本 狀態
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
To Top