grandt/phpresizegif

符合GIF89a规范的Gif图像缩放工具,包括透明度和优化后的具有子尺寸元素的Gif图像。

1.0.3 2015-05-10 10:52 UTC

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);