dashed / laravel-drift
v1.0.15
2024-08-27 11:52 UTC
Requires
- php: ^8.3
- illuminate/http: ^11.21
- illuminate/support: ^11.0
- intervention/image: ^3.8
README
动态优化图片。
安装
您可以通过composer安装此包
composer require dashed/laravel-drift
用法
简单地安装此包,并在AppServiceProvider@boot中注册配置
use Dashed\Drift\Config; use Dashed\Drift\DriftManager; use Dashed\Drift\CachingStrategies\FilesystemCachingStrategy; /** @var DriftManager $drift */ $drift = app(DriftManager::class); $drift->registerConfig(new Config( name: 'my-config-name', // Will be used in the slug filesystemDisk: 'filesystems-disk-name', // Local, public or s3 for example cachingStrategy: FilesystemCachingStrategy::class, // Create your own or use the defaults like FilesystemCachingStrategy or NullCachingStrategy ));
图片URL
要生成图片URL,请使用\Dashed\Drift\UrlBuilder,如下所示
use Dashed\Drift\UrlBuilder; /** @var UrlBuilder $builder */ $builder = app(UrlBuilder::class); $image = $builder->url('my-config-name', 'example.png', [ 'resize' => [1920, 1080], 'encode' => 'webp', // The fallback encoding will be webp ]);
您可以使用Intervention Image的大部分方法,只需将方法名作为键,将参数作为值。有多个参数吗?可以使用数组代替,如上例所示。
Blade组件
<x-drift::image class="w-full aspect-[16/9] object-cover" config="my-config-name" path="example.png" :manipulations="[ 'encode' => ['jpeg', 50], 'greyscale' => true, ]" />