ayk/laravel-image-manipulation

基于 Imagine 的 Laravel 9 图像处理库,灵感来自 Croppa,便于基于 URL 进行图像处理

dev-master 2022-11-07 16:16 UTC

This package is auto-updated.

Last update: 2024-09-07 20:27:04 UTC


README

Laravel Image 是一个基于 PHP Imagine 库的 Laravel 4 和 5 图像处理包。它受到 Croppa 的启发,可以使用特殊格式的 URL 进行图像处理。它支持基本的图像处理操作,如缩放、裁剪、旋转和翻转。它还支持如负片、灰度、伽玛、着色和模糊等效果。您还可以定义自定义过滤器以获得更大的灵活性。

Latest Stable Version Build Status Total Downloads

与其它图像处理库相比,此包的主要区别在于您可以直接在 URL 中使用参数来处理图像。处理后的图像版本将保存在与原始图像相同的路径中,从而创建一个静态文件版本,并绕过 PHP 对所有后续请求的处理。

例如,如果您有一个位于此 URL 的图像

/uploads/photo.jpg

要创建一个 300x300 的黑白图像版本,您可以使用以下 URL

/uploads/photo-image(300x300-crop-grayscale).jpg

要生成图像的 URL,您可以使用 Image::url() 方法

Image::url('/uploads/photo.jpg',300,300,array('crop','grayscale'));

或者

<img src="<?=Image::url('/uploads/photo.jpg',300,300,array('crop','grayscale'))?>" />

或者您也可以使用 Image::make() 方法进行图像的编程式处理。它支持与 Image::url() 方法相同的所有选项。

Image::make('/uploads/photo.jpg',array(
	'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 兼容 GD2、Imagick、Gmagick,并支持许多 功能

此包还提供了一些常见过滤器,可直接使用(更多关于此的信息 见此处

  • 缩放
  • 裁剪(带位置)
  • 旋转
  • 黑白
  • 反转
  • 伽玛
  • 模糊
  • 着色
  • 交错

版本兼容性

安装

依赖

服务器要求

安装

1- 在您的 composer.json 文件中通过 Composer 安装此包。

{
	"require": {
		"folklore/image": "0.3.*"
	}
}

2- 运行 Composer 以安装或更新新要求。

$ composer install

或者

$ composer update

3- 将服务提供者添加到您的 app/config/app.php 文件中

'Folklore\Image\ImageServiceProvider',

4- 将外观添加到您的 app/config/app.php 文件中

'Image' => 'Folklore\Image\Facades\Image',

5- 发布配置文件和公共文件

$ php artisan vendor:publish --provider="Folklore\Image\ImageServiceProvider"

6- 检查配置文件

app/config/image.php

文档

路线图

以下是我们希望在将来添加的一些功能。请随时合作并改进此库。

  • 更多内置过滤器,例如亮度和对比度
  • 在处理图像时提供更多配置
  • Artisan 命令用于处理图像
  • 支持对多个文件进行批量操作