PHP Conference Nagoya 2025

Imagick::setIteratorIndex

(PECL imagick 2, PECL imagick 3)

Imagick::setIteratorIndexSet the iterator position

Description

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

Set the iterator to the position in the image list specified with the index parameter. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Parameters

index

The position to set the iterator to

Return Values

Returns true on success.

Examples

Example #1 Using Imagick::setIteratorIndex():

Create images, set and get the iterator index

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

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

See Also

add a note

User Contributed Notes 1 note

up
1
wilcobeekhuizen at gmail dot com
13 years ago
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);
?>
To Top