zhdanovartur / yii-easyimage
此包已被放弃且不再维护。未建议替代包。
Yii 框架扩展,用于实时轻松创建和缓存缩略图。
v1.0.7
2016-06-16 14:28 UTC
Requires
- php: >=5.1.0
This package is not auto-updated.
Last update: 2020-01-16 23:17:48 UTC
README
您的项目中不需要为图像创建许多类型的缩略图。您可以直接在 视图
中创建缩略图。缩略图将自动缓存。很简单!
特性
- 易于使用
- 支持
GD
和Imagick
- 自动缩略图缓存
- 缓存排序到子目录
- 支持
Retina
显示 - 基于 Kohana Image Library。
## 安装和配置 从 protected/extensions
中提取 EasyImage
文件夹
将以下内容添加到您的配置文件 components
部分
'components'=>array( //... 'easyImage' => array( 'class' => 'application.extensions.easyimage.EasyImage', //'driver' => 'GD', //'quality' => 100, //'cachePath' => '/assets/easyimage/', //'cacheTime' => 2592000, //'retinaSupport' => false, //'isProgressiveJpeg' => false, ),
并将以下内容添加到 import
部分
'import' => array( //... 'ext.easyimage.EasyImage' ),
## 使用 ### 实例化
$image = new EasyImage('/path/to/image.jpg'); $image->resize(100, 100); $image->save('/full/path/to/thumb.jpg');
#### 参数
- string
$file
必需 - 图像文件路径 - string
$driver
- 驱动器:GD
,Imagick
ThumbOf
您可以直接在 视图
中创建缩略图
// Create and autocache Yii::app()->easyImage->thumbOf('/path/to/image.jpg', array('rotate' => 90)); // or Yii::app()->easyImage->thumbOf('image.jpg', array('rotate' => 90), array('class' => 'image')); // or Yii::app()->easyImage->thumbOf('image.png', array( 'resize' => array('width' => 100, 'height' => 100), 'type' => 'jpg', 'quality' => 60, ), $someModel->updatedAt //cache version modifier ); // or Yii::app()->easyImage->thumbOf('image.png', array( 'resize' => array('width' => 100, 'height' => 100), 'rotate' => array('degrees' => 90), 'sharpen' => 50, 'background' => '#ffffff', 'type' => 'jpg', 'quality' => 60, ));
注意。 此方法返回 CHtml::image()
#### 参数
- string
$file
必需 - 图像文件路径 - array
$params
- 图像处理方法。见 方法 - array
$htmlOptions
- CHtml::image() 的选项
ThumbSrcOf
Yii::app()->easyImage->thumbSrcOf('image.jpg', array('crop' => array('width' => 100, 'height' => 100)));
注意。 此方法返回缓存图像的路径。#### 参数
- string
$file
必需 - 图像文件路径 - array
$params
- 图像处理方法。见 方法
## 方法 ### 调整大小
$image->resize(100, 100, EasyImage::RESIZE_AUTO);
Yii::app()->easyImage->thumbOf('image.jpg', array('resize' => array('width' => 100, 'height' => 100)));
#### 参数
- integer
$width
- 新宽度 - integer
$height
- 新高度 - integer
$master
- 主尺寸:EasyImage::RESIZE_NONE
,EasyImage::RESIZE_WIDTH
,EasyImage::RESIZE_HEIGHT
,EasyImage::RESIZE_AUTO
,EasyImage::RESIZE_INVERSE
,EasyImage::RESIZE_PRECISE
### 裁剪
$image->crop(100, 100);
Yii::app()->easyImage->thumbOf('image.jpg', array('crop' => array('width' => 100, 'height' => 100)));
#### 参数
- integer
$width
必需 - 新宽度 - integer
$height
必需 - 新高度 - mixed
$offset_x
=NULL
- 从左侧的偏移量 - mixed
$offset_y
=NULL
- 从顶部的偏移量
### 缩放和裁剪
$image->scaleAndCrop(100, 100);
Yii::app()->easyImage->thumbOf('image.jpg', array('scaleAndCrop' => array('width' => 100, 'height' => 100)));
#### 参数
- integer
$width
必需 - 新宽度 - integer
$height
必需 - 新高度
### 旋转
$image->rotate(45);
Yii::app()->easyImage->thumbOf('image.jpg', array('rotate' => array('degrees' => 45))); // or Yii::app()->easyImage->thumbOf('image.jpg', array('rotate' => 45));
#### 参数
- integer
$degrees
必需 - 旋转度数:-360-360
### 翻转
$image->flip(EasyImage::FLIP_HORIZONTAL);
Yii::app()->easyImage->thumbOf('image.jpg', array('flip' => array('direction' => EasyImage::FLIP_HORIZONTAL))); // or Yii::app()->easyImage->thumbOf('image.jpg', array('flip' => EasyImage::FLIP_VERTICAL));
#### 参数
- integer
$direction
必需 - 方向:EasyImage::RESIZE_NONE
,EasyImage::RESIZE_WIDTH
。
### 锐化
$image->sharpen(20);
Yii::app()->easyImage->thumbOf('image.jpg', array('sharpen' => array('amount' => 20))); // or Yii::app()->easyImage->thumbOf('image.jpg', array('sharpen' => 20));
#### 参数
- integer
$amount
必需 - 锐化量(百分比):1-100
### 反射
// Create a 50 pixel reflection that fades from 0-100% opacity $image->reflection(50); // Create a 50 pixel reflection that fades from 100-0% opacity $image->reflection(50, 100, TRUE); // Create a 50 pixel reflection that fades from 0-60% opacity $image->reflection(50, 60, TRUE);
Yii::app()->easyImage->thumbOf('image.jpg', array('reflection' => array('height' => 50))); // or Yii::app()->easyImage->thumbOf('image.jpg', array('reflection'));
注意。 默认情况下,反射将从顶部透明到底部不透明。#### 参数
- integer
$height
=NULL
- 反射高度 - integer
$opacity
=100
- 反射透明度:0-100 - boolean
$fade_in
=FALSE
-TRUE
淡入,FALSE
淡出
### 水印
$mark = new EasyImage('watermark.png'); $image->watermark($mark, TRUE, TRUE); // or $image->watermark('watermark.png', 20, 20);
Yii::app()->easyImage->thumbOf('image.jpg', array('watermark' => array('watermark' => 'mark.png', 'opacity' => 50)));
注意。 如果未指定偏移量,则使用轴心中心。如果指定了 TRUE
的偏移量,则使用轴心底部。#### 参数
- mixed
$watermark
必需 - 水印EasyImage
实例或图像路径 - integer
$offset_x
=NULL
- 从左侧的偏移量 - integer
$offset_y
=NULL
- 从顶部的偏移量 - integer
$opacity
=100
- 水印透明度:1-100
### 背景
$image->background('#000', 50);
Yii::app()->easyImage->thumbOf('image.jpg', array('background' => array('color' => '#ffffff', 'opacity' => 50))); // or Yii::app()->easyImage->thumbOf('image.jpg', array('background' => '#ffffff'));
注意 这仅适用于具有 alpha 透明度的图像。####参数
- string
$color
必需 - 十六进制颜色值 - integer
$opacity
=100
- 背景透明度:0-100
###质量
Yii::app()->easyImage->thumbOf('image.jpg', array('quality' => 60)));
//not support: $image->quality(60); // see $image->render(NULL, 60);
注意 这仅适用于 JPG
图像。####参数
- integer 必需 - 图像质量:1-100
###类型
Yii::app()->easyImage->thumbOf('image.png', array('type' => 'jpg')));
//not support: $image->type('jpg'); // see $image->render('jpg');
#### 参数
- string 必需 - 返回的图像类型:
png
、jpg
、gif
等
###保存
// Save the image as a PNG $image->save('image.png'); // Overwrite the original image $image->save();
#### 参数
- string
$file
=NULL
- 新图像路径 - integer
$quality
=100
- 图像质量:1-100
###渲染
// Render the image at 50% quality $data = $image->render(NULL, 50); // Render the image as a PNG $data = $image->render('png');
#### 参数
- string
$type
=NULL
- 返回的图像类型:png
、jpg
、gif
等 - integer
$quality
=100
- 图像质量:1-100