PHP Conference Nagoya 2025

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

示例

示例 #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();
?>

参见

添加备注

用户贡献的备注 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