Imagick::setImageDelay
(PECL imagick 2, PECL imagick 3)
Imagick::setImageDelay — 画像の遅延を設定する
説明
public Imagick::setImageDelay
( int $delay
) : bool
画像の遅延を設定します。アニメーション画像の場合、この値は、 今のフレームから次のフレームに移動するまでの時間になります。
パラメータ
delay
- 画像を表示させる時間を 'ticks' で表した値。 アニメーション GIF の場合は 1 秒間に 100 ticks なので、 20 を設定すると 20/100 秒つまり 1/5 秒ということになります。
返り値
成功した場合に true
を返します。
エラー / 例外
エラー時に ImagickException をスローします。
例
例1 Imagick::setImageDelay() を使ったアニメーション GIF の変更
<?php// アニメーション GIF を変更し、各フレームの表示時間を 50ms から 0ms に徐々に変えていきます。// 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);?>