bodom78/kohana-imagefly

通过URL参数直接创建调整大小/裁剪的图像。

v1.3.1 2014-08-11 02:52 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:52:33 UTC


README

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

演示

点击此处查看Imagefly的实际应用。

兼容性

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