码匠/buglinjo-laravel-webp

此包已被弃用且不再维护。没有建议的替代包。

Laravel 5 WebP图像格式包

v2.0.5 2020-11-02 08:51 UTC

This package is auto-updated.

Last update: 2023-08-29 02:24:58 UTC


README

Latest Version on Packagist Software License Total Downloads

关于

WebP是一种现代图像格式,它为网络上的图像提供了优越的无损和有损压缩。使用WebP,网站管理员和开发者可以创建更小、更丰富的图像,使网络更快。

与PNG相比,WebP无损图像的大小减少了26%。WebP有损图像在等效的SSIM质量指数下比相应的JPEG图像小25-34%。

无损WebP以仅增加22%字节的成本支持透明度(也称为alpha通道)。对于当有损RGB压缩可接受的情况,有损WebP也支持透明度,通常比PNG提供3倍更小的文件大小。

cwebp使用WebP格式压缩图像。输入格式可以是PNGJPEGTIFFWebP或原始的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)。有关更多信息,请参阅许可证文件