PhalApi-Image–影像處理
PhalApi-Image — 影像處理
前言
因為在工作中遇到了需要按照尺寸壓縮上傳圖片,進過了一番尋找發現ThinkPhP圖形處理能夠滿足大部分需求, 所以特地製作成擴充的方式提供出來希望,能給給為小夥伴排憂解難!
注:特別鳴謝@麥當苗兒 zuojiazi@vip.qq.com
附上:
開源中國Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release
開源中國擴充Git地址:http://git.oschina.net/dogstar/PhalApi-Library
1. 安裝
配置方式非常簡單隻需要把擴充下載下來放入Library檔案內即可,然後就可以使用如下方法進行例項
//初始化
$PhalApi_Image = new Image_Lite(IMAGE_GD, "圖片地址");
//以上這句話也可以寫成如下 預設使用GD庫
$PhalApi_Image = new Image_Lite();
//開啟圖片
$PhalApi_Image->open(`./1.jpg`);
2.基礎方法
$width = $PhalApi_Image->width(); // 返回圖片的寬度
$height = $PhalApi_Image->height(); // 返回圖片的高度
$type = $PhalApi_Image->type(); // 返回圖片的型別
$mime = $PhalApi_Image->mime(); // 返回圖片的mime型別
$size = $PhalApi_Image->size(); // 返回圖片的尺寸陣列 0 圖片寬度 1 圖片高度
3. 壓縮裁剪
圖片處理最關鍵的一項功能就是壓縮和裁剪,比如使用者上傳了一套圖片2Mb*10張=20MB讓我們直接把原圖交給使用者的時候這個流量幾乎承擔不起所以就需要使用到圖片壓縮以及裁剪技術(具體看業務需求)
/**
* 可以支援其他型別的縮圖生成,設定包括下列常量或者對應的數字:
* IMAGE_THUMB_SCALING //常量,標識縮圖等比例縮放型別
* IMAGE_THUMB_FILLED //常量,標識縮圖縮放後填充型別
* IMAGE_THUMB_CENTER //常量,標識縮圖居中裁剪型別
* IMAGE_THUMB_NORTHWEST //常量,標識縮圖左上角裁剪型別
* IMAGE_THUMB_SOUTHEAST //常量,標識縮圖右下角裁剪型別
* IMAGE_THUMB_FIXED //常量,標識縮圖固定尺寸縮放型別
*/
// 按照原圖的比例生成一個最大為150*150的縮圖並儲存為thumb.jpg
$PhalApi_Image->thumb(150, 150, IMAGE_THUMB_SCALING);
$PhalApi_Image->save("thumb.jpg");
//將圖片裁剪為400x400並儲存為corp.jpg
$PhalApi_Image->crop(400, 400)->save(`./crop.jpg`);
//將圖片裁剪為400x400並儲存為corp.jpg 從(100,30)開始裁剪
$PhalApi_Image->crop(400, 400, 100, 30)->save(`./crop.jpg`);
4. 圖片水印
/**
* water方法的第二個參數列示水印的位置,可以傳入下列常量或者對應的數字:
* IMAGE_WATER_NORTHWEST = 1 ; //左上角水印
* IMAGE_WATER_NORTH = 2 ; //上居中水印
* IMAGE_WATER_NORTHEAST = 3 ; //右上角水印
* IMAGE_WATER_WEST = 4 ; //左居中水印
* IMAGE_WATER_CENTER = 5 ; //居中水印
* IMAGE_WATER_EAST = 6 ; //右居中水印
* IMAGE_WATER_SOUTHWEST = 7 ; //左下角水印
* IMAGE_WATER_SOUTH = 8 ; //下居中水印
* IMAGE_WATER_SOUTHEAST = 9 ; //右下角水印
*/
//新增圖片水印
$PhalApi_Image->open(`./1.jpg`);
//將圖片裁剪為440x440並儲存為corp.jpg
$PhalApi_Image->crop(440, 440)->save(`./crop.jpg`);
// 給裁剪後的圖片新增圖片水印(水印檔案位於./logo.png),位置為右下角,儲存為water.gif
$PhalApi_Image->water(`./logo.png`)->save("water.gif");
// 給原圖新增水印並儲存為water_o.gif(需要重新開啟原圖)
$PhalApi_Image->open(`./1.jpg`)->water(`./logo.png`)->save("water_o.gif");
//還可以支援水印圖片的透明度(0~100,預設值是80),例如:
// 在圖片左上角新增水印(水印檔案位於./logo.png) 水印圖片的透明度為50 並儲存為water.jpg
$PhalApi_Image->open(`./1.jpg`)->water(`./logo.png`, IMAGE_WATER_NORTHWEST, 50)->save("water.jpg");
5. 總結
希望此擴充能夠給大家帶來方便以及實用,擴充支援GIF檔案處理,並且支援GD庫和Imagick庫可以根據需求自行選擇!
注:筆者能力有限有說的不對的地方希望大家能夠指出,也希望多多交流
相關文章
- 影像處理--影像特效特效
- Python影像處理丨5種影像處理特效Python特效
- webgl 影像處理2---影像畫素處理Web
- Python 影像處理 OpenCV (6):影像的閾值處理PythonOpenCV
- Python 影像處理 OpenCV (7):影像平滑(濾波)處理PythonOpenCV
- 影像預處理
- OpenCV(影像NaN處理)OpenCVNaN
- 影像處理案例03
- 影像輪廓處理
- 影像處理_切邊
- 前端影像處理指南前端
- 影像預處理方法
- Python 影像處理 OpenCV (15):影像輪廓PythonOpenCV
- Python 影像處理 OpenCV (3):影像屬性、影像感興趣 ROI 區域及通道處理PythonOpenCV
- 【scipy 基礎】--影像處理
- 形態學影像處理
- cdr2022,影像處理
- solidworks2022,影像處理Solid
- 遙感影像處理流程
- 影像處理之骨架提取
- 影像行畫素處理
- Python影像處理庫——PILPython
- Python 影像處理 OpenCV (16):影像直方圖PythonOpenCV直方圖
- openCV中的影像處理 3 影像閾值OpenCV
- 數字影像處理day_12 影像分割
- Python 影像處理 OpenCV (14):影像金字塔PythonOpenCV
- Python 影像處理 OpenCV (2):畫素處理與 Numpy 操作以及 Matplotlib 顯示影像PythonOpenCV
- halcon的頻域影像處理
- HDR影像便捷處理軟體
- webgl 影像處理 加速計算Web
- 影像處理基礎篇(一)
- split用法與影像預處理
- mac影像處理Sketch n CartoonizeMac
- 【傳統影像處理】1 數字影像基礎
- 數字影像處理實驗(四)影像銳化
- 數字影像處理--認識影像各種概念
- [Python影像處理] 三十.影像量化及取樣處理萬字詳細總結(推薦)Python
- CPU(中央處理器)和GPU(影像處理器)的區別GPU
- [影像處理] 基於CleanVision庫清洗影像資料集