Skip to content

Commit c7f124b

Browse files
committed
添加readme
1 parent 505e52a commit c7f124b

File tree

1 file changed

+150
-0
lines changed

1 file changed

+150
-0
lines changed
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
## ThinkImage 是什么?
2+
3+
ThinkImage是一个PHP图片处理工具。目前支持图片缩略图,图片裁剪,图片添加水印和文字水印等功能。可自由切换系统支持的图片处理工具,目前支持GD库和Imagick库。在GD库下也能良好的处理GIF图片。
4+
5+
## ThinkImage 怎么使用?
6+
7+
ThinkImage的使用比较简单,你只需要引入ThinkImage类,实例化一个ThinkImage的对象并传入要使用的图片处理库类型和要处理的图片,就可以对图片进行操作了。关键代码如下:(以ThinkPHP为例,非ThinkPHP框架请使用PHP原生的文件引入方法)
8+
9+
//引入图片处理库
10+
import('ORG.Util.Image.ThinkImage');
11+
//使用GD库来处理1.gif图片
12+
$img = new ThinkImage(THINKIMAGE_GD, './1.gif');
13+
//将图片裁剪为440x440并保存为corp.gif
14+
$img->crop(440, 440)->save('./crop.gif');
15+
//给裁剪后的图片添加图片水印,位置为右下角,保存为water.gif
16+
$img->water('./11.png', THINKIMAGE_WATER_SOUTHEAST)->save("water.gif");
17+
//给原图添加水印并保存为water_o.gif(需要重新打开原图)
18+
$img->open('./1.gif')->water('./11.png', THINKIMAGE_WATER_SOUTHEAST)->save("water_o.gif");
19+
20+
## ThinkImage有哪些可以使用的常量?
21+
22+
ThinkImage提供了部分常量,方便记忆,在使用的过程中,可以直接使用常量或对应的整型值。
23+
24+
/* 驱动相关常量定义 */
25+
define('THINKIMAGE_GD', 1); //常量,标识GD库类型
26+
define('THINKIMAGE_IMAGICK', 2); //常量,标识imagick库类型
27+
28+
/* 缩略图相关常量定义 */
29+
define('THINKIMAGE_THUMB_SCALING', 1); //常量,标识缩略图等比例缩放类型
30+
define('THINKIMAGE_THUMB_FILLED', 2); //常量,标识缩略图缩放后填充类型
31+
define('THINKIMAGE_THUMB_CENTER', 3); //常量,标识缩略图居中裁剪类型
32+
define('THINKIMAGE_THUMB_NORTHWEST', 4); //常量,标识缩略图左上角裁剪类型
33+
define('THINKIMAGE_THUMB_SOUTHEAST', 5); //常量,标识缩略图右下角裁剪类型
34+
define('THINKIMAGE_THUMB_FIXED', 6); //常量,标识缩略图固定尺寸缩放类型
35+
36+
/* 水印相关常量定义 */
37+
define('THINKIMAGE_WATER_NORTHWEST', 1); //常量,标识左上角水印
38+
define('THINKIMAGE_WATER_NORTH', 2); //常量,标识上居中水印
39+
define('THINKIMAGE_WATER_NORTHEAST', 3); //常量,标识右上角水印
40+
define('THINKIMAGE_WATER_WEST', 4); //常量,标识左居中水印
41+
define('THINKIMAGE_WATER_CENTER', 5); //常量,标识居中水印
42+
define('THINKIMAGE_WATER_EAST', 6); //常量,标识右居中水印
43+
define('THINKIMAGE_WATER_SOUTHWEST', 7); //常量,标识左下角水印
44+
define('THINKIMAGE_WATER_SOUTH', 8); //常量,标识下居中水印
45+
define('THINKIMAGE_WATER_SOUTHEAST', 9); //常量,标识右下角水印
46+
47+
## ThinkImage有哪些可以使用的方法?
48+
49+
以下方法为ThinkImage提供的图片处理接口,可直接使用。
50+
51+
打开一幅图像
52+
53+
/**
54+
* @param string $imgname 图片路径
55+
* @return Object 当前图片处理库对象
56+
*/
57+
public function open($imgname){}
58+
59+
保存图片
60+
61+
/**
62+
* @param string $imgname 图片保存名称
63+
* @param string $type 图片类型
64+
* @param boolean $interlace 是否对JPEG类型图片设置隔行扫描
65+
* @return Object 当前图片处理库对象
66+
*/
67+
public function save($imgname, $type = null, $interlace = true){}
68+
69+
获取图片宽度
70+
71+
/**
72+
* @return integer 图片宽度
73+
*/
74+
public function width(){}
75+
76+
获取图片高度
77+
78+
/**
79+
* @return integer 图片高度
80+
*/
81+
public function height(){}
82+
83+
获取图像类型
84+
85+
/**
86+
* @return string 图片类型
87+
*/
88+
public function type(){}
89+
90+
获取图像MIME类型
91+
92+
/**
93+
* @return string 图像MIME类型
94+
*/
95+
public function mime(){}
96+
97+
获取图像尺寸数组 0 - 图片宽度,1 - 图片高度
98+
99+
/**
100+
* @return array 图片尺寸
101+
*/
102+
public function size(){}
103+
104+
裁剪图片
105+
106+
/**
107+
* @param integer $w 裁剪区域宽度
108+
* @param integer $h 裁剪区域高度
109+
* @param integer $x 裁剪区域x坐标
110+
* @param integer $y 裁剪区域y坐标
111+
* @param integer $width 图片保存宽度
112+
* @param integer $height 图片保存高度
113+
* @return Object 当前图片处理库对象
114+
*/
115+
public function crop($w, $h, $x = 0, $y = 0, $width = null, $height = null){}
116+
117+
生成缩略图
118+
119+
/**
120+
* @param integer $width 缩略图最大宽度
121+
* @param integer $height 缩略图最大高度
122+
* @param integer $type 缩略图裁剪类型
123+
* @return Object 当前图片处理库对象
124+
*/
125+
public function thumb($width, $height, $type = THINKIMAGE_THUMB_SCALE){}
126+
127+
添加水印
128+
129+
/**
130+
* @param string $source 水印图片路径
131+
* @param integer $locate 水印位置
132+
* @param integer $alpha 水印透明度
133+
* @return Object 当前图片处理库对象
134+
*/
135+
public function water($source, $locate = THINKIMAGE_WATER_SOUTHEAST){}
136+
137+
图像添加文字
138+
139+
/**
140+
* @param string $text 添加的文字
141+
* @param string $font 字体路径
142+
* @param integer $size 字号
143+
* @param string $color 文字颜色
144+
* @param integer $locate 文字写入位置
145+
* @param integer $offset 文字相对当前位置的偏移量
146+
* @param integer $angle 文字倾斜角度
147+
* @return Object 当前图片处理库对象
148+
*/
149+
public function text($text, $font, $size, $color = '#00000000',
150+
$locate = THINKIMAGE_WATER_SOUTHEAST, $offset = 0, $angle = 0){}

0 commit comments

Comments
 (0)