simplylouis / phpresizegif
此包已被废弃,不再维护。未建议替代包。
符合GIF89a规范的Gif图像缩放器,包括透明度和优化后的带有子尺寸元素的Gif图像。
v1.0.6
2018-09-13 10:41 UTC
Requires
- php: >=5.3.0
- grandt/binstring: >=0.2.0
README
从 grandt/phpresizegif v1.0.3 分叉而来
此包旨在实现符合GIF89a规范的gif文件正确缩放。
修复
Php 7.1 tempnam错误提示问题
简介
大多数,如果不是所有其他公开的gif缩放包在优化后的gif文件上都会失败,那些后续帧中只更新文件部分的部分。将这些视为背景图像,精灵在其中移动。生成的gif将保留其宽高比。
该包在方法上相当严谨。它不仅是为了解决特定问题,也是为了让我学习gif是什么以及它们是如何工作的。
使用
该包需要写入文件,原因有两方面。一方面是内存使用,另一方面是您真的不希望每次使用常用gif文件时都动态调整其大小。
导入
将此需求添加到您的 composer.json
文件中
"simplylouis/phpresizegif": ">=1.0.4"
Composer
如果您已经安装了Composer,请跳过此部分。
Packagist,主要Composer仓库有一个简洁明了且非常短的指南。
或者您可以在Composer网站上查看指南。
对于初次用户来说,最简单的方法是将Composer安装在与您的composer.json文件相同的目录中,尽管还有更好的选择。
从命令行运行此操作
php -r "readfile('https://getcomposer.org.cn/installer');" | php
这将检查您的PHP安装,并下载composer.phar
,这是Composer的二进制文件。不过,此文件在服务器上不需要。
安装Composer后,您可以为导入此包创建一个composer.json
文件。
{ "require": { "grandt/phpresizegif": ">=1.0.3" } }
然后告诉Composer安装依赖项。
php composer.phar install
这将下载并将您的composer.json
文件中定义的所有依赖项放置在vendor
目录中。
最后,您需要将新的vendor
目录中的autoload.php
文件包含进来。
<?php require 'vendor/autoload.php'; . . .
初始化
include "../vendor/autoload.php"; use grandt\ResizeGif\ResizeGif; $srcFile = "[path to original gif file]"; $dstFile = "[path to resized file]"; ResizeGif::ResizeToWidth($srcFile, $dstFile, 100);
要创建一个100像素宽的缩略图
ResizeGif::ResizeToWidth($srcFile, $dstFile, 100);
要创建一个100像素高的缩略图
ResizeGif::ResizeToHeight($srcFile, $dstFile, 100);
要将gif的大小加倍。
ResizeGif::ResizeByRatio($srcFile, $dstFile, 2.0);
将GIF大小缩小到一半。
ResizeGif::ResizeByRatio($srcFile, $dstFile, 0.5);