Loading...

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

Temperature: 0 °C

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

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

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

使用dp.SyntaxHighlighter 程式碼色彩顯示工具,讓紀錄程式心得更有可看性

使用dp.SyntaxHighlighter 程式碼色彩顯示工具,讓紀錄程式心得更有可看性

說好了要在innstory裡寫下故事紀錄... 所以是不是有方便紀錄的工具或方式,就變...

PHP 如何檢測陣列是否有重複值

PHP 如何檢測陣列是否有重複值

pexelsphoto PHP陣列,是在coding時常用到的儲存資料的方式。 但,若...

Google map 語言本地化

Google map 語言本地化

網路世界的強大...真的是解決問題的好幫手.....雖說有些答案並不可靠.... 但原...

Recommended reading

Other stories happened at this address

ajax防止重複提交

ajax防止重複提交

會發生重提交的原因,大致上是因為考驗人與系統間的耐性~ AJAX(非同步的...

明天是5U第一天上學,不知道會是個什麼樣的情況...

明天是5U第一天上學,不知道會是個什麼樣的情況...

明天是U第一天上學,不知道會是個什麼樣的情況......

限期三天

限期三天

s 照顧小小孩最痛苦的事不外乎是不吃、不喝、不大便。 最近這傢伙每天都給我上演這些戲碼...

街角的早餐店

街角的早餐店

習慣拎上一杯便利商店的冰咖啡,來到街角這間早餐店。 早餐店沒有名字,賣的是中式早餐。 ...

總之我先玩起來了~

總之我先玩起來了~

s 這些都是要給U的火材盒小車~還有一架飛機。 索性就來個圍城,沒了跑道這下飛機飛不起...

每到晚上約10點左右就會開始傳來彈奏吉他的聲音~

每到晚上約10點左右就會開始傳來彈奏吉他的聲音~

pexelsphotomusic 住家樓上,每到晚上約點左右就會開始傳來彈奏吉他的聲音...

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