Swift51.com
麦子学院 头像
麦子学院  2016-10-25 11:31

PHP初学者必知的ThinkPHP框架Image类相关用法

回复:0  查看:3083  

PHP学习和网站开发中,ThinkPHP不仅给我们提供一个完善的框架,也给我们提供一些常用的类自己单独开发时用。ThinkPHP扩展中Image类是一个支持GD库和Imagick库的PHP图片处理工具。目前支持图片缩略图,图片裁剪,图片添加水印和文字水印等功能,在GD库下还能良好的处理GIF图片。下面主要讲一下ThinkPHP框架里的Image类。

  1ThinkPHP 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); 右下角水印

  2ThinkPHP 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这个文件,还有三个在ThinkPHPImage\\Driver中的Gd.class.phpGIF.class.phpImagick.class.php是三个文件。

 

文章来源:极客头条