加入收藏 | 设为首页 | 会员中心 | 我要投稿 成都站长网 (https://www.028zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

支持GD库和Imageick图片处理库的PHP图片处理类

发布时间:2022-12-15 15:39:13 所属栏目:PHP教程 来源:互联网
导读: 作者寄语:
每多学一点知识,就少写一行代码。
ThinkImage 是什么?ThinkImage是一个PHP图片处理工具。目前支持图片缩略图,图片裁剪,图片添加水印和文字水印等功能。可自由切换系统支持的

作者寄语:

每多学一点知识,就少写一行代码。

ThinkImage 是什么?ThinkImage是一个PHP图片处理工具。目前支持图片缩略图,图片裁剪,图片添加水印和文字水印等功能。可自由切换系统支持的图片处理工具,目前支持GD库和Imagick库。在GD库下也能良好的处理GIF图片。ThinkImage 有什么作用?目前ThinkImage支持的图片处理功能有:ThinkImage 怎么使用?ThinkImage的使用方法比较简单。你只需要引入ThinkImage类,实例化一个ThinkImage的对象并传入要使用的图片处理库类型和要处理的图片,就可以对图片进行操作了。关键代码如下://引入图片处理库

import('ORG.Util.Image.ThinkImage');

//使用GD库来处理1.gif图片

$img=newThinkImage(THINKIMAGE_GD,'./1.gif');

//将图片裁剪为440x440并保存为corp.gif

$img->crop(440,440)->save('./crop.gif');

//给裁剪后的图片添加图片水印,位置为右下角,保存为water.gif

$img->water('./11.png',THINKIMAGE_WATER_SOUTHEAST)->save("water.gif");

//给原图添加水印并保存为water_o.gif(需要重新打开原图)

$img->open('./1.gif')->water('./11.png',THINKIMAGE_WATER_SOUTHEAST)->save("water_o.gif");ThinkImage有哪些可以使用的常量?ThinkImage提供了部分常量,方便记忆,在使用的过程中,可以直接使用常量或对应的整型值。/*驱动相关常量定义*/

define('THINKIMAGE_GD',1);//常量,标识GD库类型

define('THINKIMAGE_IMAGICK',2);//常量,标识imagick库类型

/*缩略图相关常量定义*/

define('THINKIMAGE_THUMB_SCALING',1);//常量,标识缩略图等比例缩放类型

define('THINKIMAGE_THUMB_FILLED',2);//常量,标识缩略图缩放后填充类型

define('THINKIMAGE_THUMB_CENTER',3);//常量,标识缩略图居中裁剪类型

define('THINKIMAGE_THUMB_NORTHWEST',4);//常量,标识缩略图左上角裁剪类型

define('THINKIMAGE_THUMB_SOUTHEAST',5);//常量,标识缩略图右下角裁剪类型

define('THINKIMAGE_THUMB_FIXED',6);//常量,标识缩略图固定尺寸缩放类型

/*水印相关常量定义*/

define('THINKIMAGE_WATER_NORTHWEST',1);//常量,标识左上角水印

define('THINKIMAGE_WATER_NORTH',2);//常量,标识上居中水印

define('THINKIMAGE_WATER_NORTHEAST',3);//常量,标识右上角水印

define('THINKIMAGE_WATER_WEST',4);//常量,标识左居中水印

define('THINKIMAGE_WATER_CENTER',5);//常量,标识居中水印

define('THINKIMAGE_WATER_EAST',6);//常量PHP图像处理,标识右居中水印

define('THINKIMAGE_WATER_SOUTHWEST',7);//常量,标识左下角水印

define('THINKIMAGE_WATER_SOUTH',8);//常量,标识下居中水印

define('THINKIMAGE_WATER_SOUTHEAST',9);//常量,标识右下角水印ThinkImage有哪些可以使用的方法?以下方法为ThinkImage提供的图片处理接口,可直接使用。

打开一幅图像/**

*@paramstring$imgname图片路径

*@returnObject当前图片处理库对象

*/

publicfunctionopen($imgname){}保存图片/**

*@paramstring$imgname图片保存名称

*@paramstring$type图片类型

*@paramboolean$interlace是否对JPEG类型图片设置隔行扫描

*@returnObject当前图片处理库对象

*/

publicfunctionsave($imgname,$type=null,$interlace=true){}获取图片宽度/**

*@returninteger图片宽度

*/

publicfunctionwidth(){}获取图片高度/**

*@returninteger图片高度

*/

publicfunctionheight(){}获取图像类型/**

*@returnstring图片类型

*/

publicfunctiontype(){}获取图像MIME类型/**

*@returnstring图像MIME类型

*/

publicfunctionmime(){}获取图像尺寸数组 0 - 图片宽度,1 - 图片高度/**

*@returnarray图片尺寸

*/

publicfunctionsize(){}裁剪图片/**

*@paraminteger$w裁剪区域宽度

*@paraminteger$h裁剪区域高度

*@paraminteger$x裁剪区域x坐标

*@paraminteger$y裁剪区域y坐标

*@paraminteger$width图片保存宽度

*@paraminteger$height图片保存高度

*@returnObject当前图片处理库对象

*/

publicfunctioncrop($w,$h,$x=0,$y=0,$width=null,$height=null){}生成缩略图/**

*@paraminteger$width缩略图最大宽度

*@paraminteger$height缩略图最大高度

*@paraminteger$type缩略图裁剪类型

*@returnObject当前图片处理库对象

*/

publicfunctionthumb($width,$height,$type=THINKIMAGE_THUMB_SCALE){}添加水印/**

*@paramstring$source水印图片路径

*@paraminteger$locate水印位置

*@paraminteger$alpha水印透明度

*@returnObject当前图片处理库对象

*/

publicfunctionwater($source,$locate=THINKIMAGE_WATER_SOUTHEAST){}图像添加文字/**

*@paramstring$text添加的文字

*@paramstring$font字体路径

*@paraminteger$size字号

*@paramstring$color文字颜色

*@paraminteger$locate文字写入位置

(编辑:成都站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!