主頁(yè) > 知識(shí)庫(kù) > ThinkPHP中圖片按比例切割的代碼實(shí)例

ThinkPHP中圖片按比例切割的代碼實(shí)例

熱門標(biāo)簽:上海公司外呼系統(tǒng)線路 十堰ai電話機(jī)器人效果怎么樣 地圖標(biāo)注風(fēng)向標(biāo) 浙江外呼電話系統(tǒng)軟件 安陽自動(dòng)外呼系統(tǒng)價(jià)格是多少 電梯外呼線路板維修視頻 臨沂智能電銷機(jī)器人軟件 銀川ai電話機(jī)器人 芒果電銷機(jī)器人

在開發(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);//打開縮略圖進(jìn)行編輯
  $imageWidth=$image->width();//獲得圖片尺寸
  $imageHeight=$image->height();
  $save_name=getThumb($path, $prefix);
  if (($imageHeight/$height*$width)>$imageWidth) {//按照高切割,如果寬度沒有那么長(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)行截圖最大比例的圖片的方式,如果需要使用其他方式的話,例如從左邊開始截取這樣的,修改‘THINKIMAGE_THUMB_CENTER'即可,服務(wù)端采取這樣的方式也并不是必要的,畢竟前端也可以處理,應(yīng)當(dāng)按照實(shí)際情況進(jìn)行考慮。

當(dāng)然,一般進(jìn)行圖片的存儲(chǔ)都是存儲(chǔ)圖片的相對(duì)位置,如果生成了縮略圖,我們其實(shí)也沒有必要再使用一個(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)鏈接

您可能感興趣的文章:
  • PHP lcfirst()函數(shù)定義與用法
  • PHP levenshtein()函數(shù)用法講解
  • PHP implode()函數(shù)用法講解
  • PHP htmlspecialchars()函數(shù)用法與實(shí)例講解
  • PHP的微信支付接口使用方法講解
  • PHP使用PDO操作sqlite數(shù)據(jù)庫(kù)應(yīng)用案例
  • PHP htmlspecialchars_decode()函數(shù)用法講解
  • PHP遞歸的三種常用方式
  • PHP中rename()函數(shù)的妙用講解
  • PHP join()函數(shù)用法與實(shí)例講解

標(biāo)簽:遵義 遂寧 徐州 荊門 武威 吐魯番 寧夏 常州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ThinkPHP中圖片按比例切割的代碼實(shí)例》,本文關(guān)鍵詞  ThinkPHP,中,圖片,按比例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ThinkPHP中圖片按比例切割的代碼實(shí)例》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于ThinkPHP中圖片按比例切割的代碼實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章