qubiqx / laravel-drift-less
v1.0.1
2023-09-11 05:51 UTC
Requires
- php: ^8.0
- illuminate/http: ^9.4
- illuminate/support: ^9.4
- intervention/image: ^2.7
README
即时优化图像。
安装
您可以通过composer安装此包
composer require qubiqx/laravel-drift
用法
简单地安装此包,并在 AppServiceProvider@boot
中注册配置
use Qubiqx\Drift\Config; use Qubiqx\Drift\DriftManager; use Qubiqx\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,请使用 \Qubiqx\Drift\UrlBuilder
,如下所示
use Qubiqx\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, ]" />