資料載入中

我是 chung

鎖住記憶

  • Chung
  • 0°C
  • 10 年又 352 天

PHP使用GD函數切正方形圖像

基本上大都是等比例將圖片上傳....

但有時也會有需要正方形邊長的圖像需求

這時候還是得靠GD函式了...

例如要取360*360等邊的正方形
/*為亂數取名*/
$utime_img=date("YmdHis");
$flag=rand(0000,9999);//亂數取值
/*首先取得上傳的圖片*/
$src = imagecreatefromjpeg($_FILES["upload"]["tmp_name"]);
/*取得圖片的寬*/
$src_w = imagesx($src);
/*取得圖片的長*/
$src_h = imagesy($src);
/*依長與寬兩者最短的邊來算出要抓的正方形邊長*/
if( $src_w > $src_h){
$new_w = $src_h;
$new_h = $src_h;
}else{
$new_w = $src_w;
$new_h = $src_w;
}
/*以長方形的中心來取得正方形的左上方原點*/
$srt_w = ( $src_w - $new_w ) / 2;
$srt_h = ( $src_h - $new_h ) / 2;
/*定義一個圖形 ( 針對正方形圖形 )*/
$newpc = imagecreatetruecolor($new_w,$new_h);
/*抓取正方形的截圖*/
imagecopy($newpc, $src, 0, 0, $srt_w, $srt_h, $new_w, $new_h );
/*建立等比縮圖*/
$finpic = imagecreatetruecolor(360,360);
/*開始縮圖*/
imagecopyresampled($finpic, $newpc, 0, 0, 0, 0, 360, 360, $new_w, $new_h);
/*儲存縮圖到指定的目錄存放*/
imagejpeg($finpic,"URL".$_SESSION["filename"].$utime_img.$flag."s.jpg");
/*將檔名存到變數 $filename*/
$newimagename = $_SESSION["filename"].$utime_img.$flag."s.jpg";

得到新的圖像名稱後,便可將其寫入資料庫欄位備用。

台北市內湖區江南街71巷75弄 Go

  • 正方形邊長的圖像需求
  • GD函式處理圖片上傳
  • 360*360等邊正方形圖像
  • 新的圖像名稱寫入資料庫
  • 等比例圖片上傳技巧
https://innstory.com/story-PHP使用GD函數切正方形圖像-536

上一篇
 秋蟹肥美水庫大閘蟹

下一篇
使用dpSyntaxHighlighter程式碼色彩顯示工具讓紀錄程式心得更有可看性 

發表留言

作者簡介

我是chung,網路工作者

主業是網站系統開發建置
副業是做夢、紀錄故事
作品請參考:teme.biz
做夢請參考:innstory.com
聯絡:chung.teme@gmail.com

有人用筆寫日記,有人用歲月寫日記,有人用照片寫日記,而我,用innstory寫日記。


推薦閱讀

作者其他相關類別故事

行事曆功能導入

行事曆功能導入

Chung 11 年又 197 天 2.3K

Innstory有行事曆囉! 我試著把Innstory當作是我的筆記本,將生活發生的故事紀錄下來...

Android Studio 2.3 隨機改變背景顏色

Android Studio…

Chung 9 年又 164 天 3.8K

開始學習APP 其實我照著工具書上的方式總是在宣告變數時會產生問題~ 例如工具書上寫著可以直接拉...

爸爸的百萬富翁夢兒子幫我實現在媒體上了

爸爸的百萬富翁夢兒子幫我實現…

Chung 2026-05-18 下午 9 點 542

恭喜 5U 迎來人生首座校外文學勳章! 既然是人生第一次投稿被刊登,說甚麼也得稍微紀錄一下成長道路...


推薦閱讀

這個地址也發生了其他故事

已經可以撐那麼高囉,撐住啊5U。

已經可以撐那麼高囉,撐住啊5…

Chung 10 年又 26 天 2.2K

已經可以撐那麼高囉,撐住啊5U。

青椒炒肉絲佐高粱

青椒炒肉絲佐高粱

Chung 10 年又 24 天 2.4K

很簡單,卻也很下飯。 家裡買的沙茶也放了一陣子了,這晚就決定來盤沙茶口味的青椒炒肉絲。 其實我也...

第一次被5U的大便嗆到咳嗽,天啊我到底餵你吃了些什麼@@

第一次被5U的大便嗆到咳嗽,…

Chung 10 年又 20 天 2.3K

第一次被5U的大便嗆到咳嗽,天啊我到底餵你吃了些什麼@@


附近景點

這個地址-台北市內湖區江南街71巷75弄-附近還有甚麼?

  • 鐵道部部長宿舍
  • 摩耶精舍(張大千園邸)
  • 機器局第五號倉庫
  • 臺北府城—東門、南門、小南門、北門
  • 臺灣總督府電話交換局
  • 原大阪商船株式會社臺北支店