2010-08-27 5 views
6

Ich suche nach einer Möglichkeit, die (durchschnittliche) Bildrate eines animierten GIF unter Linux zu erkennen. Die Imagick-Klasse von PHP scheint diese Funktionalität bereitzustellen, aber ich vermeide es, eine Menge Bibliotheken zu installieren, um sie zum Laufen zu bringen.Wie erkenne ich die Ticks eines animierten GIFs pro Sekunde?

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

Gibt es eine einfache Möglichkeit, dies zu tun?

+7

Wie eine Bibliothek –

+2

@Bears: Es ist eine wenig bekannte Tatsache, dass die Imagemagick-Bibliothek etwa 2,106 Pfund wiegt (wenn der Quellcode auf schwerem 8,5x11in Papier in 12-pt mit 1 "Rand auf jeder Seite gedruckt wird ;-) – Josh

+0

@Josh: single- doppelseitiges Drucken oder doppelt? Welche Schriftart? _INKJET ODER LASER ??? _ ERHALTEN SIE ES! –

Antwort

8

Ich denke ImageMagick ist wirklich Ihre beste Wette.

Dies ist, was ein identify filename.gif auf ein animiertes GIF wie folgt aussieht:

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 

dies nicht, dass Sie die Framerate nicht geben - die gut ist, weil animierte GIFs nicht eine globale Bildrate Sie haben einen individuellen Rahmen.

+0

Noch besser! Das war es, was ich suchte. –

5

Sie können die Info-Format von dem, was ImageMagicks anpassen identify sollte Ihnen angezeigt werden:

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

, die den Trick tun sollten.

Beispiel Ausgabe: "eine 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 
Verwandte Themen