最近開發上寫到圖片上傳的功能.
這邊簡單紀錄一下使用的方法.
PHP使用版本為 5.6.21.
PHP中開啟檔案的方法會因為檔案的格式有所不同.
function open_image ($file) {
//detect type and process accordinally
global $type;
$size=getimagesize($file);
switch($size["mime"]){
case "image/jpeg":
$im = imagecreatefromjpeg($file); //jpeg file
break;
case "image/gif":
$im = imagecreatefromgif($file); //gif file
break;
case "image/png":
$im = imagecreatefrompng($file); //png file
break;
default:
$im=false;
break;
}
return $im;
}
這樣即可根據不同的方法開啟不同的圖片檔.
function save_target_image($file, $srcPath, $newPath){
//detect type and process accordinally
global $type;
$size=getimagesize($srcPath);
switch($size["mime"]){
case "image/jpeg":
imagejpeg($file, $newPath); //jpeg file
break;
case "image/gif":
imagegif($file, $newPath); //gif file
break;
case "image/png":
imagepng($file, $newPath); //png file
break;
default:
$im=false;
break;
}
}
根據不同的格式儲存圖片.
另外
$picObj = imageCreateTrueColor($width, $height); //宣告圖片物件
// 複製選定的圖片範圍(剪裁圖片)
imageCopy(
$targetPicObj ,
$source,
0,
0,
$cropX,
$cropY,
$cropWidth,
$cropHeight
);
//製作縮圖的函式
int imagecopyresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )
/*dst_image -- 輸出目標檔案
src_image -- 來源檔案
dst_x -- 目標檔案開始點的 x 座標
dst_y -- 目標檔案開始點的 y 座標
src_x -- 來源檔案開始點的 x 座標
src_y -- 來源檔案開始點的 y 座標
dst_w -- 目標檔案的長度
dst_h -- 目標檔案的高度
src_w -- 來源檔案的長度
src_h -- 來源檔案的高度
*/