Popularity
3.7
Stable
Activity
0.0
Stable
176
16
58

Description

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

Code Quality Rank: L4
Programming language: PHP
License: MIT License
Tags: Imagery     Time     Gif     Animated     Frame     Separate     Duration    
Latest version: v1.0.0

GIF Frame Extractor alternatives and similar libraries

Based on the "Imagery" category.
Alternatively, view GIF Frame Extractor alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of GIF Frame Extractor or a related project?

Add another 'Imagery' Library

README

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

GifFrameExtractor

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

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

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.

Usage

GifFrameExtractor is really easy to use:

1 - Extraction:

$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:

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:

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

And obtain usefull informations:

$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:

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:

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

This option is false by default.

About

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