tarunmangukiya / laravel-image-resizer
Laravel 5 图片上传、自动缩放和检索库的包。
Requires
- php: >=5.4.0
- intervention/image: ^2.3
Requires (Dev)
- phpspec/phpspec: 2.1.x
- phpunit/phpunit: 4.*
Suggests
- sybio/gif-creator: to create & resize animated gif images.
- sybio/gif-frame-extractor: to extract animated gif images.
This package is not auto-updated.
Last update: 2024-09-14 18:36:56 UTC
README
Laravel Image Resizer 是一个 Laravel 5.x 包,用于图片上传、自动缩放和检索库。此包允许定义图片类型和它们的上传目录,使用 Intervention Image 对图片进行裁剪和旋转等转换,并使用同步或推送到 Laravel 队列保存不同类型的图片(如小、中、大)。
特性
- 通过文件输入或文件 URL 保存文件
- 在 Laravel Image Resizer 中保留裁剪、缩放和保存文件的不同尺寸
- 支持转换文件类型,如 jpg、png 或保留原始扩展名
- 支持在文件名中添加随机文本以避免冲突
- 支持使用后台 Laravel Job 进行图片缩放
- 基于图片文件名轻松检索图片
- 支持从 CDN 检索图片(支持拉取 CDN)
- 对于新用户,您可以为现有图片动态生成图片。当用户请求缩放资源时,它将生成并提供服务。(这对于那些已经有以前数据并且想使用 Laravel Image Resizer 的人来说很有用,只需定义您的配置文件,图片将在检索图片时生成。)
入门指南
安装
通过 Composer 安装此包开始。
{ "require": { "tarunmangukiya/laravel-image-resizer": "dev-master" } }
配置
Laravel Image Resizer 需要一个配置文件来处理要缩放的图片。要开始,您需要发布所有供应商资产
php artisan vendor:publish
您可以将 --provider="TarunMangukiya\ImageResizer\ImageResizerServiceProvider"
选项添加到仅发布 Image Resizer 包的资产。
这将创建一个 config/imageresizer.php
文件在您的应用程序中,您可以修改它来设置您的配置。同时,确保在升级后检查与原始配置文件的差异。
示例配置文件
我们为您提供了一个示例配置文件以供参考。
return array( 'types' => [ 'profile' => [ 'original' => storage_path() . '/profile', 'crop' => [ 'enabled' => false, 'uncropped_image' => storage_path() . '/profile/uncropped', ], 'compiled' => 'images/profile', 'default' => 'images/profile-default.jpg', 'sizes' => [ 'small' => [100, 100, 'fit', 'jpg'], 'large' => [400, null, 'stretch'] ] ], ], );
在这个配置文件中,我们定义了一个名为 profile
的图片类型,以及 original
图像存储位置、compiled
(缩放)图片的位置、需要缩放的图片的 sizes
(如 small
、large
等)。
我们还定义了 default
图片,以防原始图片不存在时返回。
因此,通过使用此基本配置,您的 profile 图片将以原始、小和大型格式保存,并具有定义的相应尺寸。
快速入门
您可以从 文件输入 或 URL 上传并缩放您的图片。
如果您想从文件输入处理图片,只需编写
$file = \ImageResizer::upload('profile', 'file_input_name', $output_file_name);
或传递图片文件的 URL
$url = 'https://invinciblengo.org/photos/slider/large/dalhousie-winter-trekking-expedition-himachal-pradesh-2RV7Udy-1337x390.jpg'; $file = \ImageResizer::upload('profile', $url, $output_file_name);
在检索图片时,
<img src="{{ ImageResizer::get('profile', 'small', $filename) }}">
选项
配置文件(imageresizer.php)中定义的所有可用选项都适用于此包。
联系
您可以写信给我 @tarunmangukiya 获取更多信息。
别忘了提供您的建议和评价,以便不断改进。