PHP 8.4.0 RC4 available for testing

Imagick::setImageTicksPerSecond

(PECL imagick 2, PECL imagick 3)

Imagick::setImageTicksPerSecondConfigure le nombre e tick par seconde de l'image

Description

public Imagick::setImageTicksPerSecond(int $ticks_per_second): bool

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.

Liste de paramètres

ticks_per_second

La durée pendant laquelle une image sera affichée, exprimée en ticks par seconde.

Valeurs de retour

Retourne true en cas de succès.

Exemples

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);

?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top