bodom78 / kohana-imagefly
通过URL参数直接创建调整大小/裁剪的图像。
Requires
- php: >=5.3.3
- kohana/core: >=3.2
This package is not auto-updated.
Last update: 2024-09-24 02:52:33 UTC
README
此模块允许您通过URL参数快速创建调整大小/裁剪的图像。
修改后的图像在初始请求后缓存,之后提供服务,以帮助减轻服务器压力。
演示
兼容性
Imagefly目前与Kohana 3.2和3.3兼容
入门
在您的application/bootstrap.php
文件中,修改对Kohana::modules的调用,并包含图像和imagefly模块。
Kohana::modules(array(
...
'image' => MODPATH.'image',
'imagefly' => MODPATH.'imagefly',
...
));
图像模块是Imagefly模块正常运行所必需的。
配置
默认配置文件位于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的示例。
将图像调整到100px宽度和高度,从中心裁剪
<img src="/imagefly/w100-c/path/to/image.jpg">
或 <img src="/imagefly/h100-c/path/to/image.jpg">
将图像调整到100px宽度和150px高度,从中心裁剪
<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">
注意事项
- 当宽度和高度参数与源图像相同时,Imagefly 不会处理图像
- 不要忘记设置您的缓存目录可写。
- 灵感来源于 Joe Lencioni 的 smart-lencioni-image-resizer