Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Gif Laravel Package

intervention/gif

A native PHP encoder and decoder for the GIF image format with no image processing extension dependencies. Easily decode, build, and encode animated GIFs, with optional GD-based frame splitting. Requires PHP 8.3+.

View on GitHub
Deep Wiki
Context7

Intervention GIF

Native PHP GIF Encoder/Decoder

Latest Version build Monthly Downloads Support me on Ko-fi

Intervention GIF is a PHP encoder and decoder for the GIF image format that does not depend on any image processing extension.

Only the special Splitter::class class divides the data stream of an animated GIF into individual GDImage objects for each frame and is therefore dependent on the GD library.

The library is the main component of Intervention Image for processing animated GIF files with the GD library, but also works independently.

Installation

You can easily install this package using Composer. Just request the package with the following command:

composer require intervention/gif

Code Examples

Decoding

use Intervention\Gif\Decoder;

// Decode filepath to Intervention\Gif\GifDataStream::class
$gif = Decoder::decode('images/animation.gif');

// Decoder can also handle binary content directly
$gif = Decoder::decode($contents);

Encoding

Use the Builder class to create a new GIF image.

use Intervention\Gif\Builder;

// create new gif canvas
$gif = Builder::canvas(width: 32, height: 32);

// add animation frames to canvas
$delay = .25; // delay in seconds after next frame is displayed
$left = 0; // position offset (left)
$top = 0; // position offset (top)

// add animation frames with optional delay in seconds
// and optional position offset for each frame
$gif->addFrame('images/frame01.gif', $delay, $left, $top);
$gif->addFrame('images/frame02.gif', $delay, $left);
$gif->addFrame('images/frame03.gif', $delay);
$gif->addFrame('images/frame04.gif');

// set loop count; 0 for infinite looping
$gif->setLoops(12);

// encode
$data = $gif->encode();

Requirements

  • PHP >= 8.3

Development & Testing

With this package comes a Docker docker test runners. To build this container you have to have Docker installed on your system. You can run all tests with this command.

docker-compose run --rm --build tests

Run the static analyzer on the code base.

docker-compose run --rm --build analysis

Authors

This library is developed and maintained by Oliver Vogel

Thanks to the community of contributors who have helped to improve this project.

License

Intervention GIF is licensed under the MIT License.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin