toughdeveloper / imageresizer
October CMS 图片缩放和压缩插件。
v1.4.0
2019-09-30 08:48 UTC
Requires
- composer/installers: ~1.0
- tinify/tinify: ^1.3
This package is not auto-updated.
Last update: 2024-09-24 03:40:08 UTC
README
简介
将图片缩放到所需的尺寸。它接受一个包含图片文件路径的字符串或 October\Rain\Database\Attach\File
对象(如果您使用过 attachOne 或 AttachMany 关系,则将有一个这样的对象)
请注意,在管理区域中可以通过设置覆盖未找到的图片。
可用过滤器
resize(int $width [, int $height , array $options])
, imageWidth()
, imageHeight()
使用字符串
请注意,如果过滤器更改了URL,您必须在之后应用缩放。
{{ 'assets/graphics/background.jpg' | theme | resize(500,500) }}
使用变量
{{ property.image | resize(500) }}
resize(int $width [, int $height , array $options])
根据给定的参数调整图片大小。如果 $width
或 $height
为 0
,则使用原始图片的比例计算该值
选项
在模板中用法
{{ property.image | resize(500, false, { mode: 'crop', quality: '80', extension: 'png' }) }}
在PHP中用法
图片缩放器也可以轻松地在PHP中使用,如下所示
use ToughDeveloper\ImageResizer\Classes\Image;
$image = new Image('/path/to/image.jpg');
$image->resize(150, 200, [ 'mode' => 'crop' ]);
在列表后端中用法
图片缩放器也可以用于类型为 thumb
的后端列表,例如
image:
label: Image
type: thumb
这适用于
您也可以选择性地传递宽度(默认50),高度(默认50)和选项,如下所示
image:
label: Image
type: thumb
width: 75
height: 100
options:
mode: crop
imageWidth() - imageHeight()
返回当前图片宽度/高度 - 如果您需要知道仅由一边调整大小的图片的大小,则非常有用。
{{ '/path/to/image.jpg' | resize(250) | imageHeight() }}
通过TinyPNG进行图片压缩
该插件与TinyPNG API集成以提供图片压缩。需要开发API密钥,要获取一个,请访问 https://tinypng.com/developers。获取后,将其输入到October CMS后端的图片缩放器设置区域。
TinyPNG每月提供500次免费压缩,该插件自动缓存调整大小的图片以节省积分,还可以选择不压缩某些图片。
如果您专注于页面速度,建议将图片质量设置为70-80,以获得最低的文件大小同时保持高图片质量。