gif animé ?

Eléphanteau du PHP | 11 Messages

07 févr. 2006, 14:44

Bonjour,

Je souhaitrais savoir comment detecter qu'un gif est animé !

Merci d'avance pour votre aide !

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

07 févr. 2006, 15:06

Euh... en le regardant, non ? :shock: :roll: :-k

ViPHP
ViPHP | 1024 Messages

07 févr. 2006, 15:34

dans les entêtes du fichier?

A+

Pascal

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

07 févr. 2006, 15:49

:idea: Par son poids par rapport à sa taille... ;)

Eléphanteau du PHP | 11 Messages

07 févr. 2006, 18:12

L'idée du poids par rapport a la taille est pas trop mal mais je pense que cela n'est pas suffisant du fait que le nombre d'image intégrées au gif n'est pas le seul facteur d'augmentation de la taille du gif. En effet, il y a entre autre les couleurs ! Quoique, je peux recuperer le nombre de couleurs d'une image ce qui me permettrait d'en deduire le surpoids !
De ce fait, je ne suis pas sur que cette méthode soit vraiment fiable.

Je penserais plutot ouvrir le fichier avec un fopen pour le parcourir et trouver des éventuels marqueurs de separation d'image.
Encore faut il trouver sur le net la description complete de la structure d'un gif (en octet). Mais bon cette methode est beaucoup plus gourmande en ressources.

Mammouth du PHP | 1311 Messages

07 févr. 2006, 18:13

t'a tenter la lib EXIF

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

08 févr. 2006, 17:07

En effet, il y a entre autre les couleurs !
Quoique, je peux recuperer le nombre de couleurs d'une image ce qui me permettrait d'en deduire le surpoids !
Tout en sachant qu'en GIF, on a au plus 256 couleurs...

Le ratio poids (en Ko) / dimension (nb de pixels) reste une bonne approche,
même si elle n'a rien d'infaillible.

-----
Le poids d'un pixel transparent est-il différent de celui d'un pixel coloré ?...
Nouveau sujet :arrow: http://www.phpfrance.com/forums/voir_sujet-14207.php

ViPHP
ViPHP | 656 Messages

15 févr. 2006, 03:22

Je te conseil d'ouvrir deux images animées et deux images normales Gif avec un éditeur hexa pour détecter les différences dans les entêtes.

Ensuite un simple file_get_contents et preg_match pour trouver l'indicateur situé en général dans les entêtes.

ViPHP
fab
ViPHP | 2657 Messages

15 févr. 2006, 14:26

c'est un peu long comme méthode quand meme si le mec a 500 images de 50ko :p
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

ViPHP
ViPHP | 656 Messages

15 févr. 2006, 15:42

Sinon le MIME TYPE

ViPHP
fab
ViPHP | 2657 Messages

15 févr. 2006, 17:04

petit plus sur ce que jai dit plus haut en réponse a ton message Ultiny en fait avec file_get_contents on peut spécifier une taille maximum. Donc cela est une méthode plus précise apres niveau performances faudrait faire un benchmark entre un filesize puis un calcul de ratio et la lecteur des headers avec une regex
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }