PhalApi-Image -- 圖像處理

#PhalApi-Image -- 圖像處理git

##前言 由於在工做中遇到了須要按照尺寸壓縮上傳圖片,進過了一番尋找發現ThinkPhP圖形處理可以知足大部分需求, 因此特意製做成拓展的方式提供出來但願,能給給爲小夥伴排憂解難!api

注:特別鳴謝@麥當苗兒 zuojiazi@vip.qq.com數組

附上:.net

官網地址:http://www.phalapi.net/code

開源中國Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release圖片

開源中國拓展Git地址:http://git.oschina.net/dogstar/PhalApi-Libraryip

##1. 安裝圖片處理

配置方式很是簡單隻須要把拓展下載下來放入Library文件內便可,而後就可使用以下方法進行實例get

//初始化
$PhalApi_Image = new Image_Lite(IMAGE_GD, "圖片地址");
//以上這句話也能夠寫成以下 默認使用GD庫
$PhalApi_Image = new Image_Lite();
//打開圖片
$PhalApi_Image->open('./1.jpg');

##2.基礎方法it

$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庫能夠根據需求自行選擇!

注:筆者能力有限有說的不對的地方但願你們可以指出,也但願多多交流!

官網QQ交流羣:421032344 歡迎你們的加入!

相關文章
相關標籤/搜索