国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

ThinkPHP中圖片按比例切割的代碼實例

2024-05-05 00:07:15
字體:
來源:轉載
供稿:網友

在開發中,經常會遇到圖片需要按照一定比例進行縮放的情況,但是,如果一張長寬比為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;}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 巫溪县| 鹤峰县| 香港| 新乐市| 虎林市| 霸州市| 台北县| 满城县| 英山县| 都匀市| 美姑县| 青铜峡市| 永吉县| 乌兰浩特市| 九江市| 西平县| 乐业县| 灌南县| 盐池县| 天长市| 揭阳市| 上虞市| 浦县| 辽阳县| 眉山市| 盐亭县| 漠河县| 汶上县| 惠州市| 济源市| 射阳县| 鞍山市| 磐石市| 观塘区| 个旧市| 平山县| 敖汉旗| 大安市| 新平| 平山县| 通渭县|