ThinkPHP中圖片按比例切割的代碼實(shí)例
在開(kāi)發(fā)中,經(jīng)常會(huì)遇到圖片需要按照一定比例進(jìn)行縮放的情況,但是,如果一張長(zhǎng)寬比為2:1的如果需要按照1:1的比例進(jìn)行展示,那么這就意味著圖片會(huì)發(fā)生變形。下面便介紹下載tp框架中如何按照比例切割并縮放圖片。
/**
* 切割圖片
* @param $path 所要切割的圖片的路徑
* @param $prefix 給切割后圖片的前綴
* @param $width 寬度所占比例
* @param $height 高度所占比例
* @return string 圖片名稱
*/
function sizeThumb($path,$prefix,$width,$height){
import("ORG.Util.Image.ThinkImage");
$image=new ThinkImage();
$image->open('.'.$path);//打開(kāi)縮略圖進(jìn)行編輯
$imageWidth=$image->width();//獲得圖片尺寸
$imageHeight=$image->height();
$save_name=getThumb($path, $prefix);
if (($imageHeight/$height*$width)>$imageWidth) {//按照高切割,如果寬度沒(méi)有那么長(zhǎng),就按寬度切
$image->thumb($imageWidth, ($imageWidth/$width*$height),THINKIMAGE_THUMB_CENTER)->save('.'.$save_name);
}else{
$image->thumb(($imageHeight/$height*$width), $imageHeight,THINKIMAGE_THUMB_CENTER)->save('.'.$save_name);
}
return $save_name;
}
在這里采用的是從中間進(jìn)行截圖最大比例的圖片的方式,如果需要使用其他方式的話,例如從左邊開(kāi)始截取這樣的,修改‘THINKIMAGE_THUMB_CENTER'即可,服務(wù)端采取這樣的方式也并不是必要的,畢竟前端也可以處理,應(yīng)當(dāng)按照實(shí)際情況進(jìn)行考慮。
當(dāng)然,一般進(jìn)行圖片的存儲(chǔ)都是存儲(chǔ)圖片的相對(duì)位置,如果生成了縮略圖,我們其實(shí)也沒(méi)有必要再使用一個(gè)字段保存我們的縮略圖,我們只需要重寫切割拼接字符串就行
/**
* 獲取圖片路徑
* @param $prefix 圖片的前綴
* @param $img_url 原圖的路徑
* @return string 圖片路徑
*/
function getThumb($img_url,$prefix){
$str_arr=explode('/', $img_url);
$last=count($str_arr);
$str_arr[$last-1]=$prefix.$str_arr[$last-1];
$str=implode('/', $str_arr);
return $str;
}
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
Yii1.1中通過(guò)Sql查詢進(jìn)行的分頁(yè)操作方法
這篇文章主要介紹了Yii1.1中通過(guò)Sql查詢進(jìn)行的分頁(yè)操作方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
用 Composer構(gòu)建自己的 PHP 框架之使用 ORM
經(jīng)過(guò)前三篇文章 基礎(chǔ)準(zhǔn)備 、 構(gòu)建路由 和 設(shè)計(jì) MVC ,我們已經(jīng)得到了一個(gè)結(jié)構(gòu)比較完整的 MVC 架構(gòu)的 PHP 微框架,但是距離一個(gè)真正能夠上手使用的框架還差一樣?xùn)|西: 數(shù)據(jù)庫(kù)封裝 ,本篇就將講述如何集成一個(gè) ORM Composer 包2014-10-10
PHP設(shè)置images目錄不充許http訪問(wèn)的方法
圖片防盜鏈可以防止其它網(wǎng)站盜用你的圖片,浪費(fèi)你寶貴的流量。下面通過(guò)本文給大家介紹PHP防止圖片盜用/盜鏈的兩種方法,第一種方法Apache圖片重定向方法,第二種方法設(shè)置images目錄不充許http訪問(wèn),具體詳細(xì)介紹可以參考下本文2016-11-11
分享一段php獲取linux服務(wù)器狀態(tài)的代碼
正在做的項(xiàng)目中,需要使用php獲取Linux服務(wù)器狀態(tài),度娘了一下,發(fā)現(xiàn)絕大部分都是基于WIN系統(tǒng)的,好吧,自力更生,分享給大家一段Linux的代碼2014-05-05
laravel5.5安裝jwt-auth 生成token令牌的示例
今天小編就為大家分享一篇laravel5.5安裝jwt-auth 生成token令牌的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
PHP+Ajax實(shí)現(xiàn)上傳文件進(jìn)度條動(dòng)態(tài)顯示進(jìn)度功能
這篇文章主要介紹了PHP+Ajax實(shí)現(xiàn)上傳文件進(jìn)度條動(dòng)態(tài)顯示進(jìn)度功能,通過(guò)ajax實(shí)現(xiàn)主界面,php處理上傳文件,具體實(shí)例代碼大家跟隨腳本之家小編一起看看吧2018-06-06

