validoll / kohana-imagecache
一个用于创建缩放/裁剪图像的Kohana模块。
Requires
- php: >=5.3.3
- composer/installers: ~1.0
- kohana/image: >=3.3
This package is not auto-updated.
Last update: 2024-09-24 02:19:57 UTC
README
此模块允许您快速创建缩放/裁剪图像。修改后的图像在初始请求后进行缓存,并随后提供,以帮助减轻服务器压力,即使在ImageCache关闭的情况下,也可以在相同的URL上提供。
兼容性
ImageCache目前与Kohana 3.2和3.3兼容
入门
在您的application/bootstrap.php
文件中,修改对Kohana::modules的调用并包含image和imagecache模块。
Kohana::modules(array(
...
'image' => MODPATH.'image',
'imagecache' => MODPATH.'imagecache',
...
));
[!!] ImageCache模块需要image模块才能工作。
配置
默认配置文件位于MODPATH/imagecache/config/*
。
- 主要配置 -
MODPATH/imagecache/config/imagecache.php
- 修改图像的配置模式 -
MODPATH/imagecache/config/imagecache_patterns.php
您应该将此文件复制到APPPATH/config/*
,并在那里进行更改,以保持文件系统的级联。
配置选项(imagecache.php)
空或未定义的选项始终回退到其默认值。
cache_expire: 604800 浏览器检查服务器以获取修改后的图像新版本之前的时间(秒)。
cache_dir: 'cache/' 您要使用的图像缓存目录的路径,不要忘记最后的斜杠!
quality: 80 未指定URL中的图像默认质量。
scale_up: FALSE 如果图像在调整大小时应放大到原始尺寸以上。
default_image: FALSE 如果请求的图像不可用时的默认图像。例如
'default_image' => 'files/misc/default.png',
watermarks 配置一个或多个水印。每个配置键可以作为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
)
)
模式配置(imagecache_patterns.php)
模式设置的示例
'thumb' => array(
'width' => '50%',
'height' => '50px',
'crop' => TRUE,
'quality' => 80,
'watermark' => 'custom_watermark',
),
width 缓存图像的宽度。允许'px'或'%'后缀。
height 缓存图像的高度。允许'px'或'%'后缀。
crop 对缓存图像使用裁剪。如果'FALSE',则使用缩放。
quality 缓存图像的质量。
watermark 主配置文件中的一个水印的名称。
使用示例
以下是您可以使用ImageCache执行的一些示例。
首先在您的imagecache.php
中设置缓存目录的路径。例如
'cache_dir' => 'files/imagecache/',
其次在您的imagecache_patterns.php
中设置至少一个模式。例如
'thumb' => array(
'width' => '80',
'height' => '80',
'crop' => TRUE,
),
使用此路径获取缩放图像 <img src="/files/imagecache/thumb/path/to/image.jpg">
注意
- 这是一个基于Imagefly的项目,由Fady Khalife创建。
- ImageCache在宽度参数和高度参数与源相同的图像不会处理图像。
- 不要忘记使您的缓存目录可写。
- 灵感来自Joe Lencioni的smart-lencioni-image-resizer