bensquire / php-image-optim
此包已被弃用且不再维护。未建议替代包。
一个辅助图像优化的库
2.2.0
2021-06-16 09:12 UTC
Requires
- php: >=7.3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- phpstan/phpstan: ^0.12.0
- phpunit/phpunit: 9.*
README
该库的目的是帮助通过命令行在PHP中自动化图像优化
安装
库
该库遵循PSR-4规范,最简单的安装方法是使用composer,只需在composer.json中添加
composer require bensquire/php-image-optim
然后运行'composer install'或'composer update'即可。
二进制文件
MacOS
brew install Advancecomp # AdvPNG brew install gifsicle brew install guetzli brew install jonof/kenutils/pngout brew install jpeg # JPEGTran brew install jpegoptim brew install mozjpeg brew install optipng brew install pngcrush brew install pngquant brew install zopfli # Future brew install svgo # Future
值得注意的是,mozJpeg是libjpeg-turbo的分支,因此它没有自己的二进制名称,例如要在该库中使用它
$tool = new \PHPImageOptim\Tools\Jpeg\MozJpeg(); $tool->setBinaryPath('/usr/local/opt/mozjpeg/bin/jpegtran');
示例
此示例通过链接多个命令演示了PNG文件的优化。
<?php include('./vendor/autoload.php'); use PHPImageOptim\Tools\Png\AdvPng; use PHPImageOptim\Tools\Png\OptiPng; use PHPImageOptim\Tools\Png\PngCrush; use PHPImageOptim\Tools\Png\PngOut; use PHPImageOptim\Tools\Png\PngQuant; $advPng = new AdvPng(); $advPng->setBinaryPath('/usr/local/bin/advpng'); $optiPng = new OptiPng(); $optiPng->setBinaryPath('/usr/local/bin/optipng'); $pngOut = new PngOut(); $pngOut->setBinaryPath('/usr/bin/pngout'); $pngCrush = new PngCrush(); $pngCrush->setBinaryPath('/usr/local/bin/pngcrush'); $pngQuant = new PngQuant(); $pngQuant->setBinaryPath('/usr/local/bin/pngquant'); $optim = new PHPImageOptim(); $optim->setImage('./tests/image/lenna.png'); $optim->chainCommand($pngQuant) ->chainCommand($advPng) ->chainCommand($optiPng) ->chainCommand($pngCrush) ->chainCommand($pngOut); $optim->optimise();
工具
修复常见的编码不一致性
composer php-cs-fixer
查找编码问题
composer php-stan
运行单元测试
composer tests
待办事项
添加zopfli支持?
添加svgo支持?