我正试图获得我用想象力转换的图像尺寸。这是我的代码:
$imagick = new \Imagick();
$imagick->setresolution(300,300);
$imagick->readimage($this->uploadPath . '/original/test.pdf');
$imagick->writeImages($this->uploadPath . "/large/preview-%d.jpg", false);
所以我正在阅读多页pdf文件,我正在将其转换为单独的jpg文件。 我想要的是从每个图像中检索jpg文件尺寸。我能以一种简单的方式做到这一点吗?或者我首先需要将图像写入光盘然后再遍历每个图像?
答案 0 :(得分:4)
Imagick::getImageGeometry
怎么样? (http://www.php.net/manual/en/imagick.getimagegeometry.php)
在你的情况下它应该是这样的:
$imagick = new \Imagick();
$imagick->setresolution(300,300);
$imagick->readimage($this->uploadPath . '/original/test.pdf');
$geometryInfo = $imagick->getImageGeometry();
// now $geometryInfo is an associative array with 'width' and 'height' items in it
$imagick->writeImages($this->uploadPath . "/large/preview-%d.jpg", false);
<强>更新强>
如果您想从多页PDF中读取具体页面,请尝试使用这样的技巧:
$pageIndex = 0; // you can create "for/foreach" loop to go through all pages
$imagick->readimage($this->uploadPath . '/original/test.pdf[' . $pageIndex . ']');