folklore / laravel-image
基于Imagine的Laravel 4图像处理库,灵感来源于Croppa,便于基于URL进行图像处理
Requires
- php: ^7.2.5|^8.0
- guzzlehttp/guzzle: ^6.3.1|^7.0.1
- illuminate/support: ^7.0|^8.0
- imagine/imagine: ^1.2.4
Requires (Dev)
- fakerphp/faker: ^1.9.1
- mockery/mockery: ^1.3.1
- orchestra/testbench: ^5.0|^6.0
- php-coveralls/php-coveralls: ^2.4
- phpunit/phpunit: ^8.5.8|^9.3.3
This package is auto-updated.
Last update: 2024-09-08 16:49:56 UTC
README
Laravel Image是一个基于PHP Imagine库的Laravel 4和5图像处理包。它受到Croppa的启发,可以使用特殊格式的URL进行图像处理。它支持基本的图像处理,如缩放、裁剪、旋转、翻转以及负片、灰度、伽玛、着色和模糊等效果。您还可以定义自定义过滤器以获得更大的灵活性。此库与本地文件系统和Laravel Filesystem(如Amazon S3)兼容。
简介
此包与其他图像处理库的主要区别在于,您可以直接在URL中使用参数来处理图像。处理后的图像版本将保存在与原始图像相同的路径中,创建文件的静态版本并绕过Laravel未来的请求(此行为可以禁用)。
例如,如果您有一个位于此URL的图像
/uploads/photo.jpg
要创建一个300x300的黑白图像版本,您使用以下URL
/uploads/photo-image(300x300-crop-grayscale).jpg
要生成图像的URL,您可以使用Image::url()
方法
Image::url('/uploads/photo.jpg', 300, 300, ['crop', 'grayscale']);
或
<img src="<?=Image::url('/uploads/photo.jpg', 300, 300, ['crop', 'grayscale']))?>" />
或者,您可以使用Image::make()
方法编程式地处理图像。它支持与Image::url()
方法相同的所有选项。
Image::make('/uploads/photo.jpg', [ 'width' => 300, 'height' => 300, 'grayscale' => true ])->save('/path/to/the/thumbnail.jpg');
或者直接使用Imagine库
$thumbnail = Image::open('/uploads/photo.jpg') ->thumbnail(new Imagine\Image\Box(300, 300)); $thumbnail->effects()->grayscale(); $thumbnail->save('/path/to/the/thumbnail.jpg');
特性
基于Imagine
此包使用Imagine进行图像处理。Imagine与GD2、Imagick、Gmagick兼容,并支持许多功能。
多个来源
您可以为图像定义多个来源。既可以是本地,也可以是云(通过Laravel文件系统)。
过滤器
此包还提供了一些内置过滤器,可直接使用(有关过滤器更多信息,请参阅过滤器文档)
- 缩放
- 裁剪(带位置)
- 旋转
- 黑白
- 反转
- 伽玛
- 模糊
- 着色
- 交错
安装
版本兼容性
Laravel 7及以上版本
依赖关系
服务器要求
安装
1- 使用Composer安装包。
$ composer require folklore/laravel-image
2- 将服务提供者添加到您的app/config/app.php
文件中。
Folklore\Image\ServiceProvider::class,
3- 将外观添加到您的app/config/app.php
文件中。
'Image' => Folklore\Image\Facade::class,
4- 发布配置文件和公共文件。
$ php artisan vendor:publish --provider="Folklore\Image\ServiceProvider"
5- 在config/image.php
中查看配置文件。
文档
路线图
以下是我们在未来想要添加的一些功能。请随时合作并改进此库。
- 用于处理图像的Artisan命令
- 支持对多个文件进行批量操作