在開發中,經常會遇到圖片需要按照一定比例進行縮放的情況,但是,如果一張長寬比為2:1的如果需要按照1:1的比例進行展示,那么這就意味著圖片會發生變形。下面便介紹下載p框架中如何按照比例切割并縮放圖片。/*......
以下是【金聰采編】分享的內容全文:
以下是【金聰采編】分享的內容全文:
在開發中,經常會遇到圖片需要按照一定比例進行縮放的情況,但是,如果一張長寬比為2:1的如果需要按照1:1的比例進行展示,那么這就意味著圖片會發生變形。下面便介紹下載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);//打開縮略圖進行編輯 $imageWidth=$image->width();//獲得圖片尺寸 $imageHeight=$image->height(); $save_name=getThumb($path, $prefix); if (($imageHeight/$height*$width)>$imageWidth) {//按照高切割,如果寬度沒有那么長,就按寬度切 $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;}在這里采用的是從中間進行截圖最大比例的圖片的方式,如果需要使用其他方式的話,例如從左邊開始截取這樣的,修改‘THINKIMAGE_THUMB_CENTER'即可,服務端采取這樣的方式也并不是必要的,畢竟前端也可以處理,應當按照實際情況進行考慮。
當然,一般進行圖片的存儲都是存儲圖片的相對位置,如果生成了縮略圖,我們其實也沒有必要再使用一個字段保存我們的縮略圖,我們只需要重寫切割拼接字符串就行
/** * 獲取圖片路徑 * @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;}總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對金聰精品的支持。如果你想了解更多相關內容請查看下面相關鏈接
金聰線報提示:[ ThinkPHP中圖片按比例切割的代碼實例 ] 僅為會員分享,分享目的如下:
1.軟件源碼推廣展示:目的展示軟件相關功能,接收技術學習者測試、測評;
2.教程課程信息展示:展示課程信息,傳授課程各階段內容;
3.設計素材圖片展示:展示素材設計理念、思維方式、傳播設計理念;
4.福利優惠信息展示:分享各類最新的福利信息,各種優惠信息展示;
以上分享目的僅供學習、參考使用,請勿用于其他用途,如果想商業使用或者代理,請自行聯系版權方獲取授權。任何未獲取授權的商業使用與本站無關,請自行承擔相應責任。
本站不存儲任何資源文件,敬請周知!
本網站采用 BY-NC-SA 協議進行授權 轉載請注明原文鏈接:ThinkPHP中圖片按比例切割的代碼實例
1.軟件源碼推廣展示:目的展示軟件相關功能,接收技術學習者測試、測評;
2.教程課程信息展示:展示課程信息,傳授課程各階段內容;
3.設計素材圖片展示:展示素材設計理念、思維方式、傳播設計理念;
4.福利優惠信息展示:分享各類最新的福利信息,各種優惠信息展示;
以上分享目的僅供學習、參考使用,請勿用于其他用途,如果想商業使用或者代理,請自行聯系版權方獲取授權。任何未獲取授權的商業使用與本站無關,請自行承擔相應責任。
本站不存儲任何資源文件,敬請周知!
此資源僅供個人學習、研究使用,禁止非法轉播或商業用途,請在獲取后24小時內刪除,如果你覺得滿意,請尋求購買正版或獲取授權!
如果您認為本頁信息內容侵犯了您的相關權益(包含但不限于:著作權、首發權、隱私權等權利),或者您認為自己是此信息的權利人但是此信息不是自己發布的,可以直接版權舉報投訴,我們會根據網站注冊協議、資源分享協議等協議處理,以保護您的合法權益。
免責申明:本站僅提供學習的平臺,所有資料均來自于網絡分享線索,版權歸原創者所有!本站不提供任何保證,并不承擔任何法律責任,如果對您的版權或者利益造成損害,請提供相應的資質證明,我們將于3個工作日內予以處理。版權申訴相關說明如果您認為本頁信息內容侵犯了您的相關權益(包含但不限于:著作權、首發權、隱私權等權利),或者您認為自己是此信息的權利人但是此信息不是自己發布的,可以直接版權舉報投訴,我們會根據網站注冊協議、資源分享協議等協議處理,以保護您的合法權益。
本網站采用 BY-NC-SA 協議進行授權 轉載請注明原文鏈接:ThinkPHP中圖片按比例切割的代碼實例

侵權舉報/版權申訴



