grandt / phpresizegif
符合GIF89a规范的Gif图像缩放工具,包括透明度和优化后的具有子尺寸元素的Gif图像。
Requires
- php: >=5.3.0
- grandt/binstring: >=0.2.0
This package is not auto-updated.
Last update: 2024-09-14 17:00:54 UTC
README
本软件包旨在实现Gif文件的正确缩放,包括GIF89a规范。
简介
大多数(如果不是所有)公开的Gif缩放软件包在处理优化后的Gif文件时都会失败,这些文件在后续帧中只更新文件的一部分。将其视为背景图像,精灵在其中移动。生成的Gif将保留其宽高比。
本软件包在实现上有些过于严谨。它不仅仅是为了解决特定问题,也是为了让我了解Gif是什么以及它们是如何工作的。
使用方法
本软件包需要写入文件,不直接返回字符串的原因有两个。一方面是内存使用,另一方面是您真的不希望每次使用频繁使用的Gif文件时都动态地缩放它。
导入
将此要求添加到您的 composer.json
文件中
"grandt/phpresizegif": ">=1.0.3"
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);