Description
GifFrameExtractor is a PHP class that separates all the frames (and their duration) of an animated GIF
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.
-
PHP Image Workshop
ImageWorkshop is a PHP5.3+ library that helps you to manage images based on GD library -
Image Optimizer
Image optimization / compression library. This library is able to optimize png, jpg and gif files in very easy and handy way. It uses optipng, pngquant, pngcrush, pngout, gifsicle, jpegoptim and jpegtran tools. -
FasterImage
:racehorse: find the size of an image without downloading the whole file. Supports batch requests.
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of GIF Frame Extractor or a related project?
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).