PHP初学者必知的ThinkPHP框架Image类相关用法
在PHP学习和网站开发中,ThinkPHP不仅给我们提供一个完善的框架,也给我们提供一些常用的类自己单独开发时用。ThinkPHP扩展中Image类是一个支持GD库和Imagick库的PHP图片处理工具。目前支持图片缩略图,图片裁剪,图片添加水印和文字水印等功能,在GD库下还能良好的处理GIF图片。下面主要讲一下ThinkPHP框架里的Image类。
1、ThinkPHP Image类中的常量
驱动相关常量定义
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); 右下角水印
2、ThinkPHP Image类中的方法
打开一幅图像
public function open($imgname)
$imgname 图片路径
保存图片
public function save($imgname, $type = null, $interlace = true)
$imgname 图片保存名称
$type 图片类型
$interlace 是否对JPEG类型图片设置隔行扫描
获取图片宽度public function width()
获取图片高度public function height()
获取图像类型public function type()
获取图像MIME类型public function mime()
获取图像尺寸数组public function size()
裁剪图片
public function crop($w, $h, $x = 0, $y = 0, $width = null, $height = null)
$w 裁剪区域宽度
$h 裁剪区域高度
$x 裁剪区域x坐标
$y 裁剪区域y坐标
$width 图片保存宽度
$height 图片保存高度
生成缩略图
public function thumb($width, $height, $type = THINKIMAGE_THUMB_SCALE)
$width 缩略图最大宽度
$height 缩略图最大高度
$type 缩略图裁剪类型
添加水印
public function water($source, $locate = THINKIMAGE_WATER_SOUTHEAST)
$source 水印图片路径
$locate 水印位置
$alpha 水印透明度
图像添加文字
public function text($text, $font, $size, $color = ‘#00000000′, $locate = THINKIMAGE_WATER_SOUTHEAST, $offset = 0, $angle = 0)
$text 添加的文字
$font 字体路径
$size 字号
$color 文字颜色
$locate 文字写入位置
$offset 文字相对当前位置的偏移量
$angle 文字倾斜角度
锐化图片
public function sharp($radius = 0, $sigma = 1)
$radius 锐化角度
$sigma 锐化偏差
以后我们就算不用ThinkPHP框架,也可以用Image类处理图片了。在自己的项目中使用时,除了Image.class.php这个文件,还有三个在ThinkPHP中Image\\Driver中的Gd.class.php、GIF.class.php和Imagick.class.php是三个文件。
文章来源:极客头条