Imagick
在线手册:中文  英文

Imagick::getNumberImages

(PECL imagick 2.0.0)

Imagick::getNumberImagesReturns the number of images in the object

说明

int Imagick::getNumberImages ( void )

Returns the number of images associated with Imagick object.

返回值

Returns the number of images associated with Imagick object.

错误/异常

错误时抛出 ImagickException。


Imagick
在线手册:中文  英文

用户评论:

benkuhl at gmail dot com (2013-01-24 19:26:18)

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 (2009-04-07 05:21:12)

<?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->thumbnailImage400null );
  
$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>

易百教程