(PECL imagick 2, PECL imagick 3)
Imagick::setImageTicksPerSecond — Configure le nombre e tick par seconde de l'image
Ajuste la durée qu'une frame d'une image animée sera affichée.
Note:
Pour les GIFs animés, cette méthode ne modifie pas le nombre de 'ticks' par secondes, qui sera toujours défini à 100. Au lieu de celà, la méthode va ajuster la durée d'affichage de la frame pour simuler une modification du ticks par seconde.
Par exemple, pour un GIF animé où chaque frame est affichée pendant 20 ticks (1/5ème d'une seconde), lorsque cette méthode est appelée sur chaque frame de l'image avec un argument de
50
, les frames seront ajustées pour s'afficher pendant 40 ticks (2/5ème d'une seconde) et l'animation sera jouée à une vitesse de moitié moins par rapport à la vitesse originale.
ticks_per_second
La durée pendant laquelle une image sera affichée, exprimée en ticks par seconde.
Retourne true
en cas de succès.
Exemple #1 Modification d'un GIF animé avec la méthode Imagick::setImageTicksPerSecond()
<?php
// Modification d'un GIF animé pour que la première moitié du GIF soit jouée
// à une vitesse moitié moindre, et que la seconde moitié soit jouée à une vitesse
// double de la vitesse courante.
$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)) {
// Modification de la frame pour quelle s'affiche pendant deux fois plus de temps qu'actuellement
$imagick->setImageTicksPerSecond(50);
} else {
// Modification de la frame pour quelle s'affiche pendant deux fois moins de temps qu'actuellement
$imagick->setImageTicksPerSecond(200);
}
$frameCount++;
}
$imagick = $imagick->deconstructImages();
$imagick->writeImages("/chemin/de/sauvegarde/output.gif", true);
?>