定制 evgrs/kohana-imagefly 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

evgrs/kohana-imagefly

Composer 安装命令:

composer require evgrs/kohana-imagefly

包简介

Create resized / cropped images directly through url parameters.

README 文档

README

This module is fork of Bodom78/kohana-imagefly

This module allows you to quickly create resized / cropped images directly through url parameters.
Modified images are cached after the initial request and served up thereafter to help reduce server strain.

Demo

Click here to see Imagefly in action.

Compatibility

Imagefly currently works with Kohana 3.2 and 3.3

Getting Started

In your application/bootstrap.php file modify the call to Kohana::modules and include the image and imagefly modules.

Kohana::modules(array(
    ...
    'image'    => MODPATH.'image',
    'imagefly' => MODPATH.'imagefly',
    ...
));

The image module is requried for the Imagefly module to work.

Configuration

The default config file is located in MODPATH/imagefly/config/imagefly.php
You should copy this file to APPPATH/config/imagefly.php and make changes there, in keeping with the cascading filesystem.

Configuration Options

cache_expire: 604800
Number of seconds before the browser checks the server for a new version of the modified image.

cache_dir: 'cache/'
Path to the image cache directory you would like to use, don't forget the trailing slash!

source_dir: ''
Path prefix to the source directory you would like to use, don't forget the trailing slash!

mimic_source_dir: TRUE
Mimic the source file folder structure within the cache directory.
Useful if you want to keep track of cached files and folders to perhaps periodically clear some cache folders but not others.

quality: 80
The default quality of images when not specified in the URL.

scale_up: FALSE
If the image should be scaled up beyond it's original dimensions on resize.

enforce_presets: FALSE
Will only allow param configurations set in the presets
Best enabled on production sites to reduce spamming of different sized images on the server.

presets
Imagefly params that are allowed when enforce_presets is set to TRUE
Any other param configuration will throw a 404 error.

// Example presets
'presets' => array(
    'w320-h240-c',
    'w640-w480-q60'
)

watermarks
Configure one or more watermarks. Each configuration key can be passed as a param through an Imagefly URL to apply the watermark.

If no offset is specified, the center of the axis will be used.
If an offset of TRUE is specified, the bottom of the axis will be used.

// 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
    )
)

Usage Examples

Here are some examples of what you can do with Imagefly.

Resize to exactly 100px width and height cropping from the center
<img src="/imagefly/w100-c/path/to/image.jpg"> OR <img src="/imagefly/h100-c/path/to/image.jpg">

Resize to exactly 100px width and 150px height cropping from the center
<img src="/imagefly/w100-h150-c/path/to/image.jpg">

Resize proportionally until width is 100 pixels
<img src="/imagefly/w100/path/to/image.jpg">

Resize proportionally until height is 100 pixels
<img src="/imagefly/h100/path/to/image.jpg">

Resize proportionally until either the width or height is 100 pixels, whichever comes first
<img src="/imagefly/w100-h100/path/to/image.jpg">

Resize proportionally until height is 100 pixels with JPEG quality set to 60
<img src="/imagefly/h100-q60/path/to/image.jpg">

Adding a watermark
<img src="/imagefly/w600-first_watermark/path/to/image.jpg">

Adding multiple watermarks
<img src="/imagefly/w600-first_watermark-second_watermark/path/to/image.jpg">

Notes

  • Imagefly will not process images when the width and height prams are the same as the source
  • Don't forget to make your cache directory writable.
  • Inspired by the smart-lencioni-image-resizer by Joe Lencioni

evgrs/kohana-imagefly 适用场景与选型建议

evgrs/kohana-imagefly 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 16 次下载、GitHub Stars 达 0, 最近一次更新时间为 2015 年 10 月 24 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「image」 「resize」 「kohana」 「watermark」 「crop」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 evgrs/kohana-imagefly 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 evgrs/kohana-imagefly 我们能提供哪些服务?
定制开发 / 二次开发

基于 evgrs/kohana-imagefly 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 16
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 18
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 23
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-10-24