pomirleanu / gif-create
从png图像创建gif动画的简单方法。
v1.3
2016-10-21 18:37 UTC
Requires
- php: ~5.6|~7.0
- illuminate/support: ~5.1
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2024-09-14 19:20:15 UTC
README
为laravel 5.*创建从png图像生成gif动画的简单方法。
安装
通过Composer
$ composer require pomirleanu/gif-create
基本PHP用法
1. 输入
// 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. 创建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. 获取/使用结果
现在您可以获取动画GIF的二进制文件
$gif = $gif->get();
...例如,可以直接发送到浏览器
header("Content-type: image/gif"); echo $gif; exit;
或者只需将其保存到文件
$gif->save("animated.gif");
laravel 5.*中的用法
服务提供者应该是
Pomirleanu\GifCreate\GifCreateServiceProvider::class,
发布所需的资产(配置文件)
php artisan vendor:publish --provider="Pomirleanu\GifCreate\GifCreateServiceProvider"
注意:Composer在执行composer update
后不会更新它们,您需要手动操作!
行为
- 透明度基于第一帧。[!!未经验证:只有在您提供具有相同透明背景的多帧时,它才会被保存"]
- 生成的GIF的尺寸也基于第一帧。如果您需要调整图像尺寸以获得相同的尺寸,可以使用这个类:https://github.com/Sybio/ImageWorkshop。
依赖项
- PHP 5.3(用于命名空间支持等;难道还有人厚颜无耻地使用PHP < 5.3吗?!)
- GD(《imagecreatefromstring》、《imagegif》、《imagecolortransparent》)
贡献
请参阅CONTRIBUTING和CONDUCT以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件pomirleanu.florentin@gmail.com联系,而不是使用问题跟踪器。
鸣谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。