alcodo/powerimage

Laravel 包用于创建动态图像处理器

dev-master 2021-03-29 10:53 UTC

This package is auto-updated.

Last update: 2024-08-29 04:08:49 UTC


README

Build Status Total Downloads Latest Stable Version License

Powerimage 是 Laravel 的动态图像处理器。它使用 thephpleague/glide 包进行 转换 和使用 spatie/image-optimizer 包进行 优化 图像。

安装后,您可以请求在 Laravel 中上传的任何图像。例如
example.com/images/cat.jpg (原始)
example.com/images/cat_w=200&h=200.jpg (转换)

工作流程非常简单。如果图像未找到,Laravel 会抛出异常。此包只创建一次此图像。在下次请求时,图像将从您的 Web 服务器返回,如 nginx(快速响应)。

结构

{domain}/{path}/{fileimage name}_{resize parameter}.{extension}

Delimiter: _

安装

添加包

    composer require alcodo/powerimage:dev-master

app/Exceptions/Handler.php 中添加 powerimage 处理器

    public function render($request, Exception $exception)
    {
        PowerImage::check($request, $exception);

        return parent::render($request, $exception);
    }

顺便说一下,您可以包括或排除想要使用 powerimage 的路径,例如

    public function render($request, Exception $exception)
    {
        if (PowerImage::include ($request, ['/images/*', '/gallery/*'])) {
            PowerImage::check($request, $exception);
        }

        // or

        if (PowerImage::exclude($request, ['/user/*'])) {
            PowerImage::check($request, $exception);
        }

        return parent::render($request, $exception);
    }

辅助工具

创建 powerimage 路径辅助工具

    powerimage('images/video.png', ['w' => 200, 'h' => 350]);
    
    // outut
    'images/video_w=200&h=350.png'
    
    // or direct in blade template
    <img class="img-fluid" src="{{ powerimage(Storage::url($image->filepath), ['w'=> 260, 'h' => 260])  }}" alt=""/>

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 LICENSE