thinkphp圖片處理
一、總結
1、參考手冊:參考手冊上面啥都有,只是這樣業務邏輯不明顯,所以看視頻會很好,但是如果用編程的靈性(設計),那么其實會更加高效,但是看視頻更快而且沒那么枯燥,更高效把
2、thinkphp圖片操作功能:thinkphp支持的圖片功能有圖片裁剪,圖片縮放,圖片翻轉,圖片旋轉和水印(圖片水印和文字水印)及其它功能,而且沒種具體功能里面都可以詳細設置
3、英語與編程是相輔相成:關於這些功能的函數,還有無數的處理圖片的函數(例如android),只需要記下面幾個單詞:open,crop,thumb,flip,rotate,water,text
4、關注差異的部分:至於獲取的圖片的屬性,用腳指頭想也知道有width,height等這些,而我們需要關注的屬性是我們不熟悉的(type,size,mime),熟悉的沒必要去看,沒必要去記
5、編程的靈性(設計):我們操作完的圖片我們自然要存對不對,所以這里是鏈式操作在所有要存的操作的后面都加上了->save("路徑")
6、常用的一般在最顯眼的位置:我們來看這個函數crop(100,200,300,350); // 從(300,350)的位置開始裁剪,裁剪100,200 大小,默認從(0,0)位置開始裁剪,函數中常用屬性在前面,不常用屬性在后面
7、記住功能,記住主干:只需要知道有這個功能即可,需要的時候來找就好了,這樣效率高,除非研究代碼的時候,但是練習熟悉一下有助於你記憶里面的知道這個功能
8、過度學習:學百分之130,才能保證你發揮出百分100的實力,學了百分之100的實力,期待發揮百分之70,留百分之30的正常誤差,所以我是要過度學習,或者叫超越學習
二、thinkphp圖片處理
1、讀取圖片
$images=Image::open("./img/c.jpg");
2、獲取基本信息
// 寬度
dump($images->width());
// 高度
dump($images->height());
// 類型
dump($images->type());
// 寬和高
dump($images->size());
// mime
dump($images->mime());
3、圖片裁剪
crop(100,200,300,350);
// 從(300,350)的位置開始裁剪,裁剪100,200 大小,默認從(0,0)位置開始裁剪
// 裁剪默認從頂點開始裁剪
$images->crop(300,300)->save("./img/cai.jpg");
// 設置裁剪位置
$images->crop(300,300,100,100)->save('./img/cai1.jpg');
4、圖片縮放
// 圖片縮放 默認是等比例縮放,可以進行設置
// //常量,標識縮略圖等比例縮放類型
// constTHUMB_SCALING???=?1
// //常量,標識縮略圖縮放后填充類型
// constTHUMB_FILLED????=?2;
// //常量,標識縮略圖居中裁剪類型
// constTHUMB_CENTER????=?3;
// //常量,標識縮略圖左上角裁剪類型
// constTHUMB_NORTHWEST?=?4;
// //常量,標識縮略圖右下角裁剪類型
// constTHUMB_SOUTHEAST?=?5;
// //常量,標識縮略圖固定尺寸縮放類型
// constTHUMB_FIXED?????=?6;
$images->thumb(300,300,2)->save('./img/th.jpg');
5、圖片翻轉
$images->flip()->save("./img/fan.jpg");
6、圖片旋轉
$images->rotate(180)->save("./img/xuan.jpg");
7、水印
// 圖片水印
$images->water("./img/logo.png",5,50)->save("./img/water.jpg");
// 文字水印
$images->text('123',"msyh.ttf",20,"#ff0000")->save('./img/text.jpg');