Imagick::getNumberImages
(PECL imagick 2, PECL imagick 3)
Imagick::getNumberImages — Returns the number of images in the object
说明
public Imagick::getNumberImages(): int
Returns the number of images associated with Imagick object.
参数
此函数没有参数。
返回值
Returns the number of images associated with Imagick object.
错误/异常
错误时抛出 ImagickException。

User Contributed Notes 2 notes
benkuhl at gmail dot com ¶
9 years ago
For PDFs this function indicates the number of pages on the PDF, NOT images that might be embedded within the PDF.
<?php
$document = new Imagick('2_pager.pdf');
var_dump($document->getNumberImages()); //returns 2
$document = new Imagick('1_pager.pdf');
var_dump($document->getNumberImages()); //returns 1
?>
From my research it is not possible to obtain the images embedded within a PDF by using the PHP Imagick library.
gzabriskie at yahoo dot com ¶
13 years ago
<?php
/* Create the object */
$image = new Imagick('YourImageLocation.tif');
$count = $image->getNumberImages();
echo "<h3 style=\"font: bold 12pt Arial\">Total Number of Images Extracted ".
"from the TIF : ".$image->getNumberImages()."</h3>";
for ($x = 1;$x <= $image->getNumberImages(); $x++) {
$image->previousImage();
$image->thumbnailImage( 400, null );
$image->writeImage('img'.$count.'.png');
$count--;
}
?>
<html>
<head>
<title>Extracting Images Form TIFF</title>
</head>
<body>
<table cellspacing="10" style="background: #ddd"><tr>
<?php
for ($x = 1;$x <= $image->getNumberImages(); $x++) {
echo "<td><img src=\"img$x.png\"<br /><p style=\"font: bold 12pt Arial;".
"text-align: center\">image $x (png)</p></td>";
}
?>
</tr></table>
</body>
</html>
备份地址:http://www.lvesu.com/blog/php/imagick.getnumberimages.php