tarunmangukiya/laravel-image-resizer

Laravel 5 图片上传、自动缩放和检索库的包。

v1.3.0-beta 2016-04-04 09:44 UTC

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 的人来说很有用,只需定义您的配置文件,图片将在检索图片时生成。)

入门指南

  1. 安装
  2. 配置
  3. 快速入门
  4. 选项
  5. 演示

安装

通过 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(如 smalllarge 等)。

我们还定义了 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 获取更多信息。

别忘了提供您的建议和评价,以便不断改进。