====== MooPHP 图片类使用方法 ======
图片处理类和文件上传类紧密相关,对于上传的图片文件需要进行缩略处理,还需要加水印处理。
或者针对已有的文件进行缩略或者加水印处理。
下面介绍基本的组成和使用方法,欲知更详细的信息可以参考源代码。
===== 配置参数(成员变量) =====
//note 返回的处理信息数组
var $upFile = array();
//note 缩略图开关 0为关闭 1为生成指定大小的缩略图 2把原图缩放为指定大小的缩略图
var $thumbStatus = 1;
//note 指定缩略图的宽
var $thumbWidth = 400;
//note 指定缩略图的高
var $thumbHeight = 300;
//note jpeg 类型文件缩略图质量参数,范围为 0~100 的整数,数值越大结果图片效果越好
var $thumbQuality = 100;
//note 缩略图保存路径 为空的时候和源文件同目录, 指定的时候末尾需要加 /
var $thumbDir = '';
//note 缩略图的方式:0为不生成子目录,即全部保存在一个目录下 1 按月方式为一个子目录存储 2 按天方式为一个子目录存储
var $saveType = 1;
//note 缩略图名称: 空就在源文件名后加上 .thumb.jpg, random 就是随机生成, 其他的就按照指定名称
var $thumbName = '';
//note 0 关闭水印 1左上 2中上 3右上 4中左 5正中 6中右 7左下 8中下 9右下
var $waterMarkStatus = 0;
//note 0 gif类型的文件作为水印 1 png类型的文件作为水印 2 文本类型水印
var $waterMarkType = 0;
//note 水印文件路径
var $waterImagePath = './../Moo-data/images/';
//note 添加水印的条件, 源图片的最小宽度
var $waterMarkMinWidth = 0;
//note 添加水印的条件,源图片的最小高度
var $waterMarkMinHeight = 0;
//note 水印融合度, 1~100 的整数,数值越大水印图片透明度越低
var $waterMarkTrans = 65;
//note jpeg 类型的图片添加水印后质量参数,范围为 0~100 的整数,数值越大结果图片效果越好
var $waterMarkQuality = 100;
配置的参数比较多,这里的参数都可以通过config方法指定
===== 方法 config(设置成员变量) ======
/**
* 配置函数
*
* @param array $config: 配置数组,对应的key和变量对应
* @return void
*/
function config($config) {
}
该方法通过传入一个对应与成员变量的key的数组来设置成员变量。
===== 方法 image(初始化函数) ======
/**
* 初始化函数
*
* @param string $targetFile: 需要处理的目标图片文件地址
* @param array $upFile: 目标图片的一些文件信息
* @return void
*/
function image($targetFile, $upFile = array()) {
}
该方法为后面处理做初始化准备。
===== 方法 thumb(生成指定大小缩略图) ======
/**
* 根据指定大小生成缩略图(使用GD库)
*
* @param int $thumbWidth: 指定缩略图的宽
* @param int $thumbHeight: 指定缩略图的高
* @return void
*/
function thumb($thumbWidth = '', $thumbHeight = '', $targetFile = '', $upFile = '') {
}
该方法给目标文件生成指定大小的缩略图。
===== 方法 waterMark(生成水印) ======
/**
* 给图片增加水印(使用GD库)
* @return void
*/
function waterMark($targetFile = '' , $upFile = '') {
}
该方法为给指定的目标文件加水印。通过 $this->upFile 返回。
===== 方法 getSubDir(生成存放文件子目录) ======
/**
* 根据指定存储的方式取得上传子目录
*
* @return void
*/
function getSubDir() {
}
该方法为是生成一个子缩略图文件目录。对缩略图文件进行按照日期分目录存储。方便以后管理和上传文件的读取。
===== 方法 random(返回随机字符) ======
/**
* 返回随机字符
* @param int $length 字符长度
* @param boolean $numeric 是否是数字
*
* @return string random string
*/
function random($length, $numeric = 0) {
}
该方法为是返回指定长度的字符串,是为文件名重命名而准备的。
===== 综合使用样例 =====
//自动加载MooImage类
$image = MooAutoLoad('MooImage');
//配置相应参数。各个参数的意义可以看下面对应的说明
$image->config(array('waterMarkMinWidth' => '400', 'waterMarkMinHeight' => '300', 'waterMarkStatus' => 9));
//对文件 ./../Moo-data/attachments/2.jpg 生成200 X 260 的缩略图
$image->thumb(200, 260, './../Moo-data/attachments/2.jpg');
//给文件 ./../Moo-data/attachments/2.jpg 加水印
$image->waterMark();