Imagick::getNumberImages

(PECL imagick 2, PECL imagick 3)

Imagick::getNumberImagesReturns the number of images in the object

Descrição

public Imagick::getNumberImages(): int

Returns the number of images associated with Imagick object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of images associated with Imagick object.

Erros

Lança ImagickException em caso de erro.

add a note

User Contributed Notes 2 notes

up
3
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.
up
2
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>
To Top