evgrs / kohana-imagefly
通过URL参数直接创建调整大小/裁剪的图像。
Requires
- php: >=5.3.3
- kohana/core: >=3.2
This package is not auto-updated.
Last update: 2024-10-02 11:45:59 UTC
README
此模块是基于 Bodom78/kohana-imagefly 进行分叉的。
此模块允许您通过URL参数快速创建调整大小/裁剪的图像。
修改后的图像在初次请求后进行缓存,之后提供以帮助减少服务器压力。
演示
兼容性
Imagefly目前与Kohana 3.2和3.3兼容。
入门指南
在您的 application/bootstrap.php 文件中,修改对 Kohana::modules 的调用并包含 image 和 imagefly 模块。
Kohana::modules(array(
...
'image' => MODPATH.'image',
'imagefly' => MODPATH.'imagefly',
...
));
Imagefly模块需要image模块才能正常工作。
配置
默认配置文件位于 MODPATH/imagefly/config/imagefly.php
您应该将此文件复制到 APPPATH/config/imagefly.php,并在那里进行更改,保持与级联文件系统的兼容性。
配置选项
cache_expire 604800
在浏览器检查修改后的图像的新版本之前,浏览器会检查服务器的时间(秒)。
cache_dir: 'cache/'
您希望使用的图像缓存目录的路径,不要忘记结尾的反斜杠!
source_dir: ''
您希望使用的源目录的前缀路径,不要忘记结尾的反斜杠!
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 URL 的参数传递以应用水印。
如果没有指定偏移量,则使用轴的中心。
如果指定了偏移量为 TRUE,则使用轴的底部。
// Example watermarks
'watermarks' => array(
'first_watermark' => array(
'image' => 'path/to/first/watermark.png',
'offset_x' => TRUE,
'offset_y' => TRUE,
'opacity' => 80
),
'second_watermark' => array(
'image' => 'path/to/second/watermark.png',
'offset_x' => 5,
'offset_y' => 5,
'opacity' => 50
)
)
使用示例
以下是您可以使用 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像素,JPEG质量设置为60
<img src="/imagefly/h100-q60/path/to/image.jpg">
添加水印
<img src="/imagefly/w600-first_watermark/path/to/image.jpg">
添加多个水印
<img src="/imagefly/w600-first_watermark-second_watermark/path/to/image.jpg">
注意事项
- 当宽度(width)和高度(height)参数与源图像相同时,Imagefly将不会处理图像。
- 不要忘记设置您的缓存目录可写。
- 灵感来源于Joe Lencioni的smart-lencioni-image-resizer。