码匠 / buglinjo-laravel-webp
此包已被弃用且不再维护。没有建议的替代包。
Laravel 5 WebP图像格式包
v2.0.5
2020-11-02 08:51 UTC
Requires
- php: ~7.1
- ext-gd: *
- illuminate/support: ~5.1|~6.0|~7.0|~8.0
Requires (Dev)
- phpunit/phpunit: >=5.4.3
- squizlabs/php_codesniffer: ^2.3
README
关于
WebP是一种现代图像格式,它为网络上的图像提供了优越的无损和有损压缩。使用WebP,网站管理员和开发者可以创建更小、更丰富的图像,使网络更快。
与PNG相比,WebP无损图像的大小减少了26%。WebP有损图像在等效的SSIM质量指数下比相应的JPEG图像小25-34%。
无损WebP以仅增加22%字节的成本支持透明度(也称为alpha通道)。对于当有损RGB压缩可接受的情况,有损WebP也支持透明度,通常比PNG提供3倍更小的文件大小。
cwebp使用WebP格式压缩图像。输入格式可以是PNG、JPEG、TIFF、WebP或原始的Y'CbCr样本。
安装前
注意:您需要先安装WebP才能安装此包。更多信息请访问此页面
安装
通过Composer
$ composer require buglinjo/laravel-webp
对于Laravel <= 5.4
更新composer后,将ServiceProvider添加到config/app.php中的providers数组
Buglinjo\LaravelWebp\WebpServiceProvider::class,
您可以使用门面来缩短代码。将以下内容添加到您的别名中
'Webp' => Buglinjo\LaravelWebp\Facades\Webp::class,
发布配置文件
您需要发布配置文件以添加cwebp全局路径。
php artisan vendor:publish --provider="Buglinjo\LaravelWebp\WebpServiceProvider" --tag=config
在config/laravel-webp.php配置文件中,您应该设置cwebp全局路径。
return [ /* |-------------------------------------------------------------------------- | Default Quality |-------------------------------------------------------------------------- | | This is a default quality unless you provide while generation of the WebP | */ 'default_quality' => 70, /* |-------------------------------------------------------------------------- | Default Driver |-------------------------------------------------------------------------- | | This is a default image processing driver. Available: ['cwebp'] | */ 'default_driver' => 'cwebp', /* |-------------------------------------------------------------------------- | Drivers |-------------------------------------------------------------------------- | | Available drivers which can be selected | */ 'drivers' => [ 'cwebp' => [ 'path' => '/usr/local/bin/cwebp', ], ], ];
用法
Webp::make(<UploadedFile image>)->save(<output path>, <quality :optional>);
注意:当使用laravel请求检索文件时创建UploadedFile类实例。
示例
$webp = Webp::make($request->file('image')); if ($webp->save(public_path('output.webp'))) { // File is saved successfully }
其中<quality>是0 - 100的整数。0 - 最低质量,100 - 最高质量。
默认quality是70
您还可以通过在WebP::make(<UploadedFile image>)和->save(<输出路径>);之间链式调用->quality(<quality>)来设置quality。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。