evgrs/kohana-imagefly

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

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

This package is not auto-updated.

Last update: 2024-10-02 11:45:59 UTC


README

此模块是基于 Bodom78/kohana-imagefly 进行分叉的。

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

演示

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

兼容性

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