[PHP] 一些簡單的圖片處理

最近開發上寫到圖片上傳的功能.
這邊簡單紀錄一下使用的方法.

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 -- 來源檔案的高度
*/