pomirleanu/gif-create

从png图像创建gif动画的简单方法。

v1.3 2016-10-21 18:37 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:20:15 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

为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》)

贡献

请参阅CONTRIBUTINGCONDUCT以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件pomirleanu.florentin@gmail.com联系,而不是使用问题跟踪器。

鸣谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件