# The ThinkPHP5 Image Package
[](https://travis-ci.org/top-think/think-image)
[](https://codecov.io/github/top-think/think-image)
[](https://github.com/top-think/think-image/releases)
[](https://github.com/top-think/think-image/releases/latest)
[](https://github.com/top-think/think-image/releases/latest)
[](https://packagist.org/packages/topthink/think-image)
[](https://packagist.org/packages/topthink/think-image)
## 安裝
> composer require topthink/think-image
## 使用
~~~
$image = \think\Image::open('./image.jpg');
或者
$image = \think\Image::open(request()->file('image'));
$image->crop(...)
->thumb(...)
->water(...)
->text(....)
->save(..);
~~~
/**
* 保存圖像
* @param string $pathname 圖像保存路徑名稱
* @param null|string $type 圖像類型
* @param int $quality 圖像質量
* @param bool $interlace 是否對JPEG類型圖像設置隔行掃描
* @return $this
*/
save($pathname, $type = null, $quality = 80, $interlace = true)
/**
* 返回圖像寬度
* @return int 圖像寬度
*/
width()
/**
* 返回圖像高度
* @return int 圖像高度
*/
height()
/**
* 返回圖像類型
* @return string 圖像類型
*/
type()
/**
* 返回圖像MIME類型
* @return string 圖像MIME類型
*/
mime()
/**
* 返回圖像尺寸數組 0 - 圖像寬度,1 - 圖像高度
* @return array 圖像尺寸
*/
size()
/**
* 旋轉圖像
* @param int $degrees 順時針旋轉的度數
* @return $this
*/
rotate($degrees = 90)
/**
* 翻轉圖像
* @param integer $direction 翻轉軸,X或者Y
* @return $this
*/
flip($direction = self::FLIP_X)
/**
* 裁剪圖像
*
* @param integer $w 裁剪區域寬度
* @param integer $h 裁剪區域高度
* @param integer $x 裁剪區域x坐標
* @param integer $y 裁剪區域y坐標
* @param integer $width 圖像保存寬度
* @param integer $height 圖像保存高度
*
* @return $this
*/
crop($w, $h, $x = 0, $y = 0, $width = null, $height = null)
* 生成縮略圖
*
* @param integer $width 縮略圖最大寬度
* @param integer $height 縮略圖最大高度
* @param int $type 縮略圖裁剪類型
*
* @return $this
*/
thumb($width, $height, $type = self::THUMB_SCALING)
/**
* 添加水印
*
* @param string $source 水印圖片路徑
* @param int $locate 水印位置
* @param int $alpha 透明度
* @return $this
*/
water($source, $locate = self::WATER_SOUTHEAST, $alpha = 100)
/**
* 圖像添加文字
*
* @param string $text 添加的文字
* @param string $font 字體路徑
* @param integer $size 字號
* @param string $color 文字顏色
* @param int $locate 文字寫入位置
* @param integer $offset 文字相對當前位置的偏移量
* @param integer $angle 文字傾斜角度
*
* @return $this
* @throws ImageException
*/
text($text, $font, $size, $color = '#00000000',$locate = self::WATER_SOUTHEAST, $offset = 0, $angle = 0)
/**
* 切換到GIF的下一幀并保存當前幀
*/
protected function gifNext()
- 課程介紹
- thinkphp5.0
- 安裝
- 開發規范
- 目錄結構
- 配置參數
- 系統常量
- tp5自帶的函數
- 助手函數
- 擴展類庫
- 基本類庫
- Workerman
- think-queue
- 驗證碼
- 圖片
- 權限認證
- 課前準備
- 數據庫設計
- 模塊設計
- 管理員管理
- 添加
- 編輯
- 刪除和批量刪除
- 列表頁
- 實列
- 權限管理
- 操作日志
- 基于行為的日記錄
- 行為日志的擴展
- 助手類庫
- 自建函數
- 將數組轉成uri字符串
- 獲取當前服務器的IP
- curl-post
- 截取文字中間的字符串
- 檢查中文姓名
- 省市區分別截取
- 抽獎概率問題
- 短信郵箱模板替換
- 生成csv
- PHP 圖片轉base64
- 銀行卡驗證
- json返回接口封裝
- 無限極分類
- 病毒
- xml和數組互轉
- xml轉成數組
- 數組轉xml
- tp控制器相關
- 獲取thinkph5下控制器和方法名
- 后臺查詢的簡單封裝
- 網址信息
- 獲取網站logo
- 判斷url是否存在
- 獲取title
- 判斷遠程文件是否存在
- 獲取頁面所有鏈接
- 過濾
- 截取
- 時間
- 獲取服務器信息
- 根據id生成唯一邀請碼
- 隨機顏色
- 數組字符串互換
- 創建多級目錄
- 懶人查詢
- 時間和時間戳轉換
- 房間id生菜
- 獲取需要的數組元素
- 文件和文件夾
- 文件類庫
- 文件夾
- 七牛云
- 七牛云運用場景
- 七牛云使用實例
- 郵箱
- 郵箱驗證
- 郵箱發送
- 數據庫
- 數據庫在thinkphp中的補充方法
- 備份和安全
- sql執行
- 數據庫備份2
- 時間日歷
- 時間格式化
- 日歷
- 圖片相關
- 自動獲取圖片主題顏色
- 獲取html中的圖片路徑
- 獲取圖片場景
- 獲取圖片實踐
- 圖片處理類
- 圖片處理場景
- 圖片處理實踐
- 數據驗證分析
- 身份證相關
- 新聞
- 自建類庫
- 簡易分類庫
- php 壓縮CSS代碼
- 身份證
- 分詞和抽詞
- 分詞應用場景
- 分詞實踐
- 中文轉拼音
- 中文轉拼音場景
- 中文轉拼音實踐
- 二維碼操作
- 二維碼場景
- 二維碼實踐
- 短地址
- PHPWord
- 插件化
- 插件擴展庫
- 插件列表
- 插件安裝和卸載
- 插件實踐
- 插件的離線安裝
- 計劃任務
- 計劃任務安裝
- 計劃任務實踐
- 定時器
- 注冊登錄
- 普通登錄注冊
- 第三方登錄注冊
- jwt接口登錄注冊
- 短信
- 飛鴿短信
- 阿里短信
- 消息隊列
- 網站地圖
- 全站靜態化
- 緩存
- 文件導出
- PDF生成
- phpword
- PHPExcel
- 其他類庫
- 百度
- 百度語音
- 快遞
- 跨域問題
- 寶塔
- 搜索記錄