2010-08-27 4 views
6

Je cherche un moyen de détecter le taux de trame (moyenne) d'un GIF animé en utilisant Linux. La classe Imagick de PHP semble fournir cette fonctionnalité mais j'évite plutôt d'installer une tonne de bibliothèques pour que cela fonctionne.Comment détecter les ticks d'un GIF animé par seconde?

http://www.php.net/manual/en/function.imagick-getimagetickspersecond.php

est-il un moyen simple de le faire?

+7

Comment est une bibliothèque –

+2

@Bears: Il est un fait peu connu que la bibliothèque imagemagick pèse environ 2,106 livres (lorsque le code source est imprimé sur du papier épais de 8,5 x 11 po en 12 pt avec des marges de 1 "de chaque côté ;-) – Josh

+0

@Josh: single- impression recto ou double? Quelle police? _INKJET OU LASER ??? _ OBTENIR AVEC L'HOMME! –

Répondre

8

Je pense que ImageMagick est vraiment votre meilleur pari.

C'est ce qu'un identify filename.gif sur un GIF animé ressemble à:

gif.gif[1] GIF 350x350 350x350+0+0 8-bit PseudoClass 256c 145KB 0.000u 0:00.003 
gif.gif[2] GIF 350x350 350x350+0+0 8-bit PseudoClass 256c 145KB 0.000u 0:00.006 
gif.gif[3] GIF 350x350 350x350+0+0 8-bit PseudoClass 256c 145KB 0.000u 0:00.010 

cela ne vous donne pas le frame rate - qui est bonne, parce que GIF animés ne sont pas une fréquence d'image globale , ils ont un individu entre les cadres.

+0

Encore mieux! C'est ce que j'étais après. –

5

Vous pouvez personnaliser le format d'information de ce ImageMagick de identify devrait afficher pour vous:

identify \ 
     -format "%T ticks: %f: Frame[%s] %m %wx%h %P%O %r %z-bit\n" \ 
     anim.gif 

Cela devrait faire l'affaire.

sortie Exemple: "une tonne"

50 ticks: anim.gif: Frame[0] GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit 
10 ticks: anim.gif: Frame[1] GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit 
10 ticks: anim.gif: Frame[2] GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit 
10 ticks: anim.gif: Frame[3] GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit 
10 ticks: anim.gif: Frame[4] GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit 
50 ticks: anim.gif: Frame[5] GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit 
10 ticks: anim.gif: Frame[6] GIF 1x1 128x128+0+0 PseudoClass sRGB Matte 8-bit 
10 ticks: anim.gif: Frame[7] GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit 
10 ticks: anim.gif: Frame[8] GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit 
10 ticks: anim.gif: Frame[9] GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit 
10 ticks: anim.gif: Frame[10] GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit 
Questions connexes