W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
因為在工作中遇到了需要按照尺寸壓縮上傳圖片,進(jìn)過了一番尋找發(fā)現(xiàn)ThinkPhP圖形處理能夠滿足大部分需求,
所以特地制作成拓展的方式提供出來希望,能給給為小伙伴排憂解難!
注:特別鳴謝@麥當(dāng)苗兒 zuojiazi@vip.qq.com
附上:
官網(wǎng)地址:http://www.phalapi.net/
開源中國Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release
開源中國拓展Git地址:http://git.oschina.net/dogstar/PhalApi-Library
配置方式非常簡單只需要把拓展下載下來放入Library文件內(nèi)即可,然后就可以使用如下方法進(jìn)行實例
//初始化 $PhalApi_Image = new Image_Lite(IMAGE_GD, "圖片地址"); //以上這句話也可以寫成如下 默認(rèn)使用GD庫 $PhalApi_Image = new Image_Lite(); //打開圖片 $PhalApi_Image->open('./1.jpg');
$width = $PhalApi_Image->width(); // 返回圖片的寬度 $height = $PhalApi_Image->height(); // 返回圖片的高度 $type = $PhalApi_Image->type(); // 返回圖片的類型 $mime = $PhalApi_Image->mime(); // 返回圖片的mime類型 $size = $PhalApi_Image->size(); // 返回圖片的尺寸數(shù)組 0 圖片寬度 1 圖片高度
圖片處理最關(guān)鍵的一項功能就是壓縮和裁剪,比如用戶上傳了一套圖片2Mb*10張=20MB讓我們直接把原圖交給用戶的時候這個流量幾乎承擔(dān)不起所以就需要使用到圖片壓縮以及裁剪技術(shù)(具體看業(yè)務(wù)需求)
/** * 可以支持其他類型的縮略圖生成,設(shè)置包括下列常量或者對應(yīng)的數(shù)字: * IMAGE_THUMB_SCALING //常量,標(biāo)識縮略圖等比例縮放類型 * IMAGE_THUMB_FILLED //常量,標(biāo)識縮略圖縮放后填充類型 * IMAGE_THUMB_CENTER //常量,標(biāo)識縮略圖居中裁剪類型 * IMAGE_THUMB_NORTHWEST //常量,標(biāo)識縮略圖左上角裁剪類型 * IMAGE_THUMB_SOUTHEAST //常量,標(biāo)識縮略圖右下角裁剪類型 * IMAGE_THUMB_FIXED //常量,標(biāo)識縮略圖固定尺寸縮放類型 */ // 按照原圖的比例生成一個最大為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');
/** * water方法的第二個參數(shù)表示水印的位置,可以傳入下列常量或者對應(yīng)的數(shù)字: * 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,默認(rèn)值是80),例如: // 在圖片左上角添加水?。ㄋ∥募挥?/logo.png) 水印圖片的透明度為50 并保存為water.jpg $PhalApi_Image->open('./1.jpg')->water('./logo.png', IMAGE_WATER_NORTHWEST, 50)->save("water.jpg");
希望此拓展能夠給大家?guī)矸奖阋约皩嵱?拓展支持GIF文件處理,并且支持GD庫和Imagick庫可以根據(jù)需求自行選擇!
注:筆者能力有限有說的不對的地方希望大家能夠指出,也希望多多交流!
官網(wǎng)QQ交流群:421032344 歡迎大家的加入!
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: