Loading...

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

Temperature: 0 °C

ChungChung
author_tools

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

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

這時候還是得靠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

https://innstory.com/story-PHP使用GD函數切正方形圖像-536
寫程式筆記

Prev
 秋蟹肥美水庫大閘蟹

Next
使用dpSyntaxHighlighter_程式碼色彩顯示工具讓紀錄程式心得更有可看性 

Nearby Attractions

台北市內湖區江南街71巷75弄-Nearby Attractions

  • 艋舺龍山寺 Go
  • 芝山岩遺址 Go
  • 自由之家 Go
  • 南港臺電倉庫 Go
  • 前南菜園日式宿舍 Go
  • 草山水道系統 Go

About the Author

Chung

我是chung
網路工作者
主業是網站系統開發建置
副業是做夢,寫故事
作品請參考/teme.biz
做夢請參考/innstory.com
聯絡/chung.teme@gmail.com

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

Visitor message

Leave some footprints to prove that you visited me

Recommended reading

Author's other related stories

分享 (励志短片) 王德顺 《最炫东北人》 完整版 Wang Deshun - Coolest Northeasterner (Inspirational Short Film)

分享 (励志短片) 王德顺 ...

我們都還年輕啊~ 還是可以一直做夢下去的。 只要有夢,我將可以走的更遠。 我是chung 主業做夢,...

解決手機瀏覽器上點擊輸入框放大問題

解決手機瀏覽器上點擊輸入框放...

開發RWD的網站已經是趨勢,主要也是因為手機用戶實在是太多 但在過程中一直有個問題困擾著我.... ...

HTML5 Geolocation

HTML5 Geolocat...

說真的,HTML5 Geolocation的功能真的好用... 輕鬆就可以讓網站也能取得目前所在的地...

Recommended reading

Other stories happened at this address

火材盒小汽車之滿滿的父愛~

火材盒小汽車之滿滿的父愛~

s 自有集點活動以來~我從沒過也沒想過會有認真收集點數的一天。 以前都是直接拿了商品然後退回點數。 ...

10個月的5U,吃個飯像大爺啊~( ̄∇ ̄)

10個月的5U,吃個飯像大爺...

image U十個月了。 充滿好奇心的年紀,雖然會認人了,但試驗了幾次之後似乎不怎麼怕生。 不挑食,...

獨自做夢的人一段時間就要拿些事情來鼓勵自己

獨自做夢的人一段時間就要拿些...

s 獨自做夢的人,一段時間就要拿些事情來鼓勵自己。 就算寫個鼓勵的字眼也好~恩.....突然有點悲慘...

我需要多一點正面能量

我需要多一點正面能量

最近有太多的負面情緒~ 所以收集了一些正面名言來激勵一下自己。 每次進入系統隨機挑一個名言顯示,顯示...

鍾5U你欠我一份大腸包小腸(╥﹏╥)

鍾5U你欠我一份大腸包小腸(...

s 忍著寒風~ 我一個人走在巷弄間......。 其實我並不知道這是什麼地方? 剛剛開完會,跟客戶達...

知道自己不夠高,還特地去客廳搬他的寶物箱進來墊著,我是該哭還是該笑呢?

接下來,一團亂....

知道自己不夠高,還特地去客廳...

知道自己不夠高,還特地去客廳搬他的寶物箱進來墊著,我是該哭還是該笑呢? 接下來,一團亂....

Please select an option

error

Hi, thank you for your participation, but you cannot vote repeatedly~

Join innstory now and start recording your story.

"Innstory" is a place to store stories. We are committed to becoming a warm platform. Deepening the bonds between people is our direction.
We are convinced that the blockchain between people is not just a cold calculation. Join us now.

Wrong format