在PHP學(xué)習(xí)和網(wǎng)站開發(fā)中,ThinkPHP不僅給我們提供一個(gè)完善的框架,也給我們提供一些常用的類自己單獨(dú)開發(fā)時(shí)用。ThinkPHP擴(kuò)展中Image類是一個(gè)支持GD庫和Imagick庫的PHP圖片處理工具。目前支持圖片縮略圖,圖片裁剪,圖片添加水印和文字水印等功能,在GD庫下還能良好的處理GIF圖片。下面主要講一下ThinkPHP框架里的Image類。
1、ThinkPHP Image類中的常量
驅(qū)動(dòng)相關(guān)常量定義
define(‘THINKIMAGE_GD’, 1); GD庫類型
define(‘THINKIMAGE_IMAGICK’, 2); imagick庫類型
縮略圖相關(guān)常量定義
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); 縮略圖固定尺寸縮放類型
水印相關(guān)常量定義
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類型圖片設(shè)置隔行掃描
獲取圖片寬度public function width()
獲取圖片高度public function height()
獲取圖像類型public function type()
獲取圖像MIME類型public function mime()
獲取圖像尺寸數(shù)組public function size()
裁剪圖片
public function crop($w, $h, $x = 0, $y = 0, $width = null, $height = null)
$w 裁剪區(qū)域?qū)挾?/span>
$h 裁剪區(qū)域高度
$x 裁剪區(qū)域x坐標(biāo)
$y 裁剪區(qū)域y坐標(biāo)
$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 字號(hào)
$color 文字顏色
$locate 文字寫入位置
$offset 文字相對當(dāng)前位置的偏移量
$angle 文字傾斜角度
銳化圖片
public function sharp($radius = 0, $sigma = 1)
$radius 銳化角度
$sigma 銳化偏差
以后我們就算不用ThinkPHP框架,也可以用Image類處理圖片了。在自己的項(xiàng)目中使用時(shí),除了Image.class.php這個(gè)文件,還有三個(gè)在ThinkPHP中Image\\Driver中的Gd.class.php、GIF.class.php和Imagick.class.php是三個(gè)文件。
文章來源:極客頭條