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

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

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

作者簡介

JuilinChung

我是chung

網路工作者

主業是網站系統開發建置

副業是做夢,寫故事

作品請參考 / teme.biz

做夢請參考 / innstory.com

聯絡 / chung.teme@gmail.com

訪客留言

留下一些足跡證明你來拜訪過我

推薦閱讀

作者其他相關類別故事

在PHP裡面如何做到基本的SQL injection防禦?

在PHP裡面如何做到基本的SQL injection防禦?

資訊安全一直是很頭痛的問題....我一直以來也在尋找最好的方式... 但在尋找的過程中...

PHP自動補零!!

PHP自動補零!!

其實這個是基礎中的基礎....但我卻老是不願意記起來他的函式用法..@@ 剛剛..又用...

動態時報?

動態時報?

dsc 抓meta value的功能雖然還不是很完整... 但一些網站的meta...

請選擇選項

執行錯誤

Hi,謝謝你的參與,但無法重複投票哦~