> > > Ecrire à l'auteur < < <          

lib_gif.php un encodeur GIF entièrement en PHP

  • Il y’a quelques années, un message sur le site LinuxFR demandait si il était possible d’enregistrer, en PHP, des images GIF sans utiliser les fonctionnalités GIF natives de la lib GD de PHP. En effet, à l’époque, l’algorithme de compression LZW utilisé par le format GIF était soumis à un brevet (quelle connerie ca alors !) qui rendait inutilisable ce type de fichier sans payer des royalties aux détenteurs des brevets.

Il a donc été crée une librairie entièrement en PHP (qui n’utilise pas GD) et qui permet d’enregistrer des GIF en utilisant la compression LZW. En bonus, cette librairie gère aussi le format GIF animé.
Entre temps, le brevet a été abandonné et il est maintenant possible d’utiliser pleinement le format GIF en PHP (avec la librairie GD), mais GD ne gère toujours pas le GIF animé.

  • La librairie “full-php” proposée ici permet donc de :
  • Lire et écrire des GIF compressés en LZW sans les fonctions natives de PHP imageGif() et imageCreateFromGif().
  • Créer des GIF animés

Evidément, comme ces fonctionnalités sont réalisées entièrement en PHP c’est beaucoup plus long qu’en utilisant les fonctions natives de la librairie GD.

Des exemples sont fournit dans le librairie gif_save.zip qui montrent comment créer une image animée.

Extrait du “readme” en anglais

lib_gif
Gif Reader and Writer, all in PHP. Animated GIF writer.

Purpose
——-
This scripts allow you to read and write GIF files in PHP even if the imageGif() and imageCreateFromGif() functions of the GD lib are disabled.
It use a GIF encoder and decoder in 100% PHP.

Features
——–
Read and decode first frame of GIF87a and GIF89 files compressed with LZW.
Write GIF87a LZW still picture with custom pallette (from 2 to 256 colors), with transparancy.
Write GIF89a LZW animated picture with custom pallette (from 2 to 256 colors), with transparancy.

Téléchargez : gif_save.zip ( 33ko), contient aussi le code source en C du décodeur GIF originel.

Un commentaire pour “lib_gif.php un encodeur GIF entièrement en PHP”

  1. ls dit :

    Salut,

    Il ne me manquait plus que le codage de l’algorithme de compression pour finir mon générateur de GIF animés lorsque je suis tombé sur ton site. Je tiens à te féliciter pour le superbe travail que tu as fait (et aussi pour le fait de partager).

    A part quelques erreurs (deprecated de PHP5) et l’utilisation de variables globales, ton code est efficace et bien commenté. Il ne lui manque plus qu’un système de classe et une compatibilité avec les images GD pour être parfait.

Laisser un commentaire

CAPTCHA

Hey you spammer : each comments are manually validated. I do not need viagra or rolex.