<?php
// アニメーション GIF の前半の再生スピードを元の半分に、
// そして後半の再生スピードを元の倍にします。
$imagick = new Imagick(realpath("Test.gif"));
$imagick = $imagick->coalesceImages();
$totalFrames = $imagick->getNumberImages();
$frameCount = 0;
foreach ($imagick as $frame) {
$imagick->setImageTicksPerSecond(50);
if ($frameCount < ($totalFrames / 2)) {
// フレームの表示時間を元の二倍にします
$imagick->setImageTicksPerSecond(50);
} else {
// フレームの表示時間を元の半分にします
$imagick->setImageTicksPerSecond(200);
}
$frameCount++;
}
$imagick = $imagick->deconstructImages();
$imagick->writeImages("/path/to/save/output.gif", true);
?>