ivliev/imagefly

Imagefly适用于Laravel 6.x, 7.x, 8.x

2.0.2 2020-09-09 05:07 UTC

This package is auto-updated.

Last update: 2024-09-09 13:08:42 UTC


README

此模块允许您通过URL参数快速创建调整大小/裁剪的图像。
修改后的图像在初始请求后进行缓存,然后提供,以帮助减少服务器压力。

兼容性

Imagefly目前与Laravel 6.x和7.x兼容

安装

使用composer安装

composer require ivliev/imagefly

app/config/app.php中添加服务提供者

Ivliev\Imagefly\ImageflyServiceProvider::class,

并将Imagefly别名添加到app/config/app.php

'Imagefly' => Ivliev\Imagefly\Facades\Imagefly::class,

配置

默认配置文件位于vendor/ivliev/imagefly/src/config/imagefly.php
您应该将其复制到/config/imagefly.php或使用artisan

php artisan vendor:publish

在此处进行更改,保持与文件系统的级联。

配置选项

cache_expire 604800
在浏览器检查服务器以获取修改图像的新版本之前,浏览器需要等待的秒数。

cache_dir: 'cache/'
您想要使用的图像缓存目录的路径,不要忘记尾随斜杠!

mimic_source_dir: TRUE
在缓存目录中模拟源文件文件夹结构。
如果您想跟踪缓存文件和文件夹,可能定期清理一些缓存文件夹但不清理其他文件夹,则此功能很有用。

quality 80
未在URL中指定时图像的默认质量。

scale_up: FALSE
如果图像在调整大小时应扩展到原始尺寸以上。

enforce_presets: FALSE
仅允许在presets中设置的参数配置。
最佳用于生产网站,以减少服务器上不同尺寸图像的垃圾邮件。

presets
enforce_presets设置为TRUE时允许的Imagefly参数
任何其他参数配置将抛出404错误。

// Example presets
'presets' => array(
    'w320-h240-c',
    'w640-w480-q60'
)

用法示例

以下是一些使用Imagefly可以做到的事情的示例。

调整大小为恰好100像素宽度和高度,从中心裁剪
<img src="/imagefly/w100-c/path/to/image.jpg"> OR <img src="/imagefly/h100-c/path/to/image.jpg">

调整大小为恰好100像素宽度和150像素高度,从中心裁剪
<img src="/imagefly/w100-h150-c/path/to/image.jpg">

按比例调整大小,直到宽度为100像素
<img src="/imagefly/w100/path/to/image.jpg">

按比例调整大小,直到高度为100像素
<img src="/imagefly/h100/path/to/image.jpg">

按比例调整大小,直到宽度或高度为100像素,以先到达的那个为准
<img src="/imagefly/w100-h100/path/to/image.jpg">

自动按比例调整大小,直到宽度或高度最大为100像素
<img src="/imagefly/w100-h100-a/path/to/image.jpg">

按比例调整大小,直到高度为100像素,JPEG质量设置为60
<img src="/imagefly/h100-q60/path/to/image.jpg">