Imagick::setIteratorIndex

(PECL imagick 2, PECL imagick 3)

Imagick::setIteratorIndexSet the iterator position

说明

public Imagick::setIteratorIndex ( int $index ) : bool

Set the iterator to the position in the image list specified with the index parameter. 此方法在Imagick基于ImageMagick 6.2.9以上版本编译时可用。

参数

index

The position to set the iterator to

返回值

成功时返回 true

范例

Example #1 Using Imagick::setIteratorIndex():

Create images, set and get the iterator index

<?php
$im 
= new Imagick();
$im->newImage(100100, new ImagickPixel("red"));
$im->newImage(100100, new ImagickPixel("green"));
$im->newImage(100100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo 
$im->getIteratorIndex();
?>

参见

User Contributed Notes

wilcobeekhuizen at gmail dot com 14-Mar-2011 10:06
This function returns true on success but setting the iterator to an invalid index throws an exception instead of returning false:
Fatal error: Uncaught exception 'ImagickException' with message 'Unable to set iterator index'

This can happen when counting images inside a gif file, because the iterator count starts at zero and not one. If you count the number of images in a gif file be sure to use iterator 0 for the first image, like this:

<?php
$image
= new Imagick('simple.gif');
$image->setIteratorIndex(0);
?>