当100为1秒时,延迟时间单位为微秒。
(PECL imagick 2, PECL imagick 3)
Imagick::setImageDelay — 设置图像延迟
设置图像延迟。对于动画图像,这是应该显示图像帧的时间量,然后显示下一帧。
可以为图像中的每一帧分别设置延迟。
delay
以“刻度”表示的图像显示时间量。对于动画GIF,每秒有100个刻度,因此值为20表示20/100秒,即1/5秒。
成功时返回 true
。
出错时抛出ImagickException。
示例 #1 使用 Imagick::setImageDelay() 修改动画 GIF
<?php
// 修改动画 GIF,使其帧以可变速度播放,
// 从显示 50ms 到 0ms 不等,这将导致大多数浏览器跳过帧。
$imagick = new Imagick(realpath("Test.gif"));
$imagick = $imagick->coalesceImages();
$frameCount = 0;
foreach ($imagick as $frame) {
$imagick->setImageDelay((($frameCount % 11) * 5));
$frameCount++;
}
$imagick = $imagick->deconstructImages();
$imagick->writeImages("/path/to/save/output.gif", true);
?>