• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • Imagick::getNumberImages()

    (PECL imagick 2.0.0)

    Returns the number of images in the object

    说明

    Imagick::getNumberImages(void): int

    Returns the number of images associated with Imagick object.

    返回值

    Returns the number of images associated with Imagick object.

    错误/异常

    错误时抛出 ImagickException。

    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.
    <?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>