pomirleanu/gif-create
| Install | |
|---|---|
composer require pomirleanu/gif-create |
|
| Latest Version: | v1.3 |
| PHP: | ~5.6|~7.0 |
| License: | MIT |
| Last Updated: | Oct 3, 2019 |
| Links: | GitHub · Packagist |
gif-create
Easy way to create gif animations from png images for laravel 5.*.
Install
Via Composer
$ composer require pomirleanu/gif-create
Usage basic php
1. Inputs:
// Use an array containing file paths, resource vars (initialized with imagecreatefromXXX),
// image URLs or binary image data.
$frames = array(
imagecreatefrompng("/../images/pic1.png"), // resource var
"/../images/pic2.png", // image file path
file_get_contents("/../images/pic3.jpg"), // image binary data
"http://thisisafakedomain.com/images/pic4.jpg", // URL
);
// Or: load images from a dir (sorted, skipping .files):
//$frames = "../images";
// Optionally: set different durations (in 1/100s units) for each frame
$durations = array(20, 30, 10, 10);
// Or: you can leave off repeated values from the end:
//$durations = array(20, 30, 10); // use 10 for the rest
// Or: use 'null' anywhere to re-apply the previous delay:
//$durations = array(250, null, null, 500);
2. Create the GIF:
use Pomirleanu\GifCreate;
// ...
$gif = new GifCreate\GifCreate();
$gif->create($frames, $durations);
// Or: using the default 100ms even delay:
//$gif->create($frames);
// Or: loop 5 times, then stop:
//$gif->create($frames, $durations, 5); // default: infinite looping
3. Get/use the result:
You can now get the animated GIF binary:
$gif = $gif->get();
...and e.g. send it directly to the browser:
header("Content-type: image/gif");
echo $gif;
exit;
Or just save it to a file:
$gif->save("animated.gif");
Usage in laravel 5.*
Service provider should be :
Pomirleanu\GifCreate\GifCreateServiceProvider::class,
Publish needed assets (config file) :
php artisan vendor:publish --provider="Pomirleanu\GifCreate\GifCreateServiceProvider"
Note: Composer won't update them after composer update, you'll need to do it manually!
Behavior
- Transparency is based on the first frame. [!!NOT VERIFIED: "It will be saved only if you give multiple frames with the same transparent background"]
- The dimensions of the generated GIF are based on the first frame, too. If you need to resize your images to get the same dimensions, you can use this class: https://github.com/Sybio/ImageWorkshop.
Dependencies
- PHP 5.3 (for namespace support & whatnot; noone still shamelessly uses PHP < 5.3, right?!)
- GD (
imagecreatefromstring,imagegif,imagecolortransparent)
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email pomirleanu.florentin@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v1.3 | ~5.6| | ~5.1 | MIT | |
| v1.2 | ~5.6| | ~5.1 | MIT | |
| v1.1 | ~5.6| | ~5.1 | MIT | |
| v1.0 | ~5.6| | ~5.1 | MIT |