## ThinkImage 是什么?
ThinkImage是一个PHP图片处理工具。目前支持图片缩略图,图片裁剪,图片添加水印和文字水印等功能。可自由切换系统支持的图片处理工具,目前支持GD库和Imagick库。在GD库下也能良好的处理GIF图片。
## ThinkImage 怎么使用?
ThinkImage的使用比较简单,你只需要引入ThinkImage类,实例化一个ThinkImage的对象并传入要使用的图片处理库类型和要处理的图片,就可以对图片进行操作了。关键代码如下:(以ThinkPHP为例,非ThinkPHP框架请使用PHP原生的文件引入方法)
//引入图片处理库
import('ORG.Util.Image.ThinkImage');
//使用GD库来处理1.gif图片
$img = new ThinkImage(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); //常量,标识右居中水印
define('THINKIMAGE_WATER_SOUTHWEST', 7); //常量,标识左下角水印
define('THINKIMAGE_WATER_SOUTH', 8); //常量,标识下居中水印
define('THINKIMAGE_WATER_SOUTHEAST', 9); //常量,标识右下角水印
## ThinkImage有哪些可以使用的方法?
以下方法为ThinkImage提供的图片处理接口,可直接使用。
打开一幅图像
/**
* @param string $imgname 图片路径
* @return Object 当前图片处理库对象
*/
public function open($imgname){}
保存图片
/**
* @param string $imgname 图片保存名称
* @param string $type 图片类型
* @param boolean $interlace 是否对JPEG类型图片设置隔行扫描
* @return Object 当前图片处理库对象
*/
public function save($imgname, $type = null, $interlace = true){}
获取图片宽度
/**
* @return integer 图片宽度
*/
public function width(){}
获取图片高度
/**
* @return integer 图片高度
*/
public function height(){}
获取图像类型
/**
* @return string 图片类型
*/
public function type(){}
获取图像MIME类型
/**
* @return string 图像MIME类型
*/
public function mime(){}
获取图像尺寸数组 0 - 图片宽度,1 - 图片高度
/**
* @return array 图片尺寸
*/
public function size(){}
裁剪图片
/**
* @param integer $w 裁剪区域宽度
* @param integer $h 裁剪区域高度
* @param integer $x 裁剪区域x坐标
* @param integer $y 裁剪区域y坐标
* @param integer $width 图片保存宽度
* @param integer $height 图片保存高度
* @return Object 当前图片处理库对象
*/
public function crop($w, $h, $x = 0, $y = 0, $width = null, $height = null){}
生成缩略图
/**
* @param integer $width 缩略图最大宽度
* @param integer $height 缩略图最大高度
* @param integer $type 缩略图裁剪类型
* @return Object 当前图片处理库对象
*/
public function thumb($width, $height, $type = THINKIMAGE_THUMB_SCALE){}
添加水印
/**
* @param string $source 水印图片路径
* @param integer $locate 水印位置
* @param integer $alpha 水印透明度
* @return Object 当前图片处理库对象
*/
public function water($source, $locate = THINKIMAGE_WATER_SOUTHEAST){}
图像添加文字
/**
* @param string $text 添加的文字
* @param string $font 字体路径
* @param integer $size 字号
* @param string $color 文字颜色
* @param integer $locate 文字写入位置
* @param integer $offset 文字相对当前位置的偏移量
* @param integer $angle 文字倾斜角度
* @return Object 当前图片处理库对象
*/
public function text($text, $font, $size, $color = '#00000000',
$locate = THINKIMAGE_WATER_SOUTHEAST, $offset = 0, $angle = 0){}
破碎的天堂鸟
- 粉丝: 9958
- 资源: 2943
最新资源
- 基于C语言核心的NES游戏机模拟器设计源码
- 基于粒子群算法的储能优化配置 建立了储能的成本模型,包含运行维护以及容量配置成本,然后以其成本最小为目标,得到其最优运行计划,最后通过其运行计划确定储能的容量
- 基于Java和HTML的灵活权限控制绩效考核系统设计源码
- 已经量产的产品,不是玩具 Nordic公司nRF51822芯片开发,芯片集成BLE蓝牙4.0协议 使用LIS3DH作为加速度传感器,进行运动和睡眠监测 手环的PCBA部分,主要包括一颗集成BLE
- 基于自定义列数和自适应列宽的横向流RecyclerView设计源码
- 基于.Net 4.0与SQLite/SqlServer的AccountManager个人记账软件设计源码
- 该程序可以实现c#与西门子plc(300,400,1200,1500)的以太网s7通讯,通讯传输快稳定 该程序采用.dll动态链接库方式,是最近几年才出来的一种与西门子plc通讯的方式,本人经过几个
- 【轴承寿命预测】BiLSTM-KAN网络的轴承寿命预测,PHM2012数据集(Python代码和数据)
- 研究考虑综合需求响应和碳交易机制的冷、热、电、气4种能源形式的综合能源系统,系统内含能源设备主要包括光伏电源、风力机组、燃气轮机和燃气锅炉;储能系统主要包括储电设备蓄电池、储热设备蓄热槽;能量转设备包
- CAD、DXF导图,自动进行位置路径规划,源码可进行简单功能添加实现设备所需功能,已经在冲孔机,点胶机上应用,性价比超高 打孔机实测一分钟1400个孔
- 基于Python核心语言的HelloJudge2在线评测系统设计源码
- 威纶通淡蓝色系图库模板 直接可使用,带PS文件可以修改
- 基于人人开源代码生成器的多语言设计源码生成解决方案
- FPGA以SPI模式读写SD卡,已经下板验证通过 可移植到任何FPGA之中
- 基于TypeScript的5组实习代码提交互换设计源码
- 基于Vue框架的Web自习室前端设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈