2017 © Pedro PelĂĄez
 

library gif-frame-extractor

PHP class that separates all the frames (and their duration) of an animated GIF

image

visualweber/gif-frame-extractor

PHP class that separates all the frames (and their duration) of an animated GIF

  • Wednesday, December 23, 2015
  • by visualweber
  • Repository
  • 1 Watchers
  • 0 Stars
  • 34 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

================================

GifFrameExtractor

================================

GifFrameExtractor is a PHP class that separates all the frames (and their duration) of an animated GIF, (*1)

For what ?

The class helps you to separate all the frames of an animated GIF, for example to watermark them and then to generate a new watermarked and animated GIF., (*2)

Usage

GifFrameExtractor is really easy to use:, (*3)

1 - Extraction:, (*4)

$gifFilePath = 'path/images/picture.gif';

if (GifFrameExtractor::isAnimatedGif($gifFilePath)) { // check this is an animated GIF

    $gfe = new GifFrameExtractor();
    $gfe->extract($gifFilePath);

    // Do something with extracted frames ...
}

2 - Getting the frames and their duration:, (*5)

foreach ($gfe->getFrames() as $frame) {

    // The frame resource image var
    $img = $frame['image'];

    // The frame duration
    $duration = $frame['duration'];
}

You can also get separately an array of images and an array of durations:, (*6)

$frameImages = $gfe->getFrameImages();
$frameDurations = $gfe->getFrameDurations();

And obtain usefull informations:, (*7)

$totalDuration = $gfe->getTotalDuration(); // Total duration of the animated GIF
$frameNumber = $gfe->getFrameNumber(); // Number of extracted frames
var_dump($gfe->getFrameDimensions()); // An array containing the dimension of each extracted frame
var_dump($gfe->getFramePositions()); // An array containing the original positions of each extracted frame inside the GIF

Option:, (*8)

You can choose if you want to get the original frames (with transparency background) or frames pasted on the first one with the second parameter of extract() method:, (*9)

$gfe->extract('path/images/picture.gif', true); // Can get transparency orignal frames

This option is false by default., (*10)

About

The class reuses some part of code of "PHP GIF Animation Resizer" by Taha PAKSU (thanks to him)., (*11)

The Versions

23/12 2015

dev-master

9999999-dev https://github.com/visualweber/gif-frame-extractor

PHP class that separates all the frames (and their duration) of an animated GIF

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

php gif time frame duration animated separate