2013-07-07 113 views
2

我基本上試圖做的是將圖像調整爲兩個不同大小的圖像。不過,我只能調整第一個featured_$filename,我無法調整thumb_$filename的大小。Codeigniter圖像調整大小隻調整一個圖像

最初我嘗試創建一個單一的功能,並將配置作爲一個數組傳遞,它沒有工作,但同樣的事情,只調整了單個圖像。

$this->resizeImage($imagePath, $file['upload_data']['file_name']); 


    $this->resizeThumb($imagePath, $file['upload_data']['filename']); 

public function resizeImage($imagePath, $filename){ 
     $config['image_library'] = 'gd2'; 
     $config['source_image'] = $imagePath; 
     $config['create_thumb'] = FALSE; 
     $config['new_image'] = 'featured_'.$filename; 
     $config['maintain_ratio'] = TRUE; 
     $config['width']  = 570; 
     $config['height'] = 372; 
     $this->load->library('image_lib', $config); 
     $this->image_lib->resize(); 
     $this->image_lib->clear(); 


    } 

    public function resizeThumb($imagePath, $filename){ 
     $config['image_library'] = 'gd2'; 
     $config['source_image'] = $imagePath; 
     $config['create_thumb'] = FALSE; 
     $config['new_image'] = 'thumb_'.$filename; 
     $config['maintain_ratio'] = TRUE; 
     $config['width']  = 180; 
     $config['height'] = 135; 
     $this->load->library('image_lib', $config); 
     $this->image_lib->resize(); 
     $this->image_lib->clear(); 


    } 

回答

2

您好先加載庫,然後使用$this->image_lib->initialize($config)傳遞配置,並在new_image config傳遞路徑中使用新圖像名稱。

$this->load->library('image_lib');  
$config['new_image'] = 'image_dir/thumb_'.$filename 
//ALL your other configs 
$this->image_lib->initialize($config) 
4

您只需要加載一次庫,但使用不同的配置初始化庫兩次。例如。 :

$this->load->library('image_lib'); 

/* size 64*72 for comments */ 
$configThumb = array(); 
$configThumb['image_library'] = 'gd2'; 
$configThumb['create_thumb'] = TRUE; 
$configThumb['new_image']  = './profile_images/thumbs/'; 
$configThumb['maintain_ratio'] = TRUE; 
$configThumb['width']   = 64; 
$configThumb['height']   = 72; 
$configThumb['thumb_marker'] = ""; 
//$this->load->library('image_lib'); 
/* size 64*72 for comments */ 

/* size 167*167 for profile page */ 
$configThumbMedium = array(); 
$configThumbMedium['image_library'] = 'gd2'; 
$configThumbMedium['create_thumb'] = TRUE; 
$configThumbMedium['new_image']  = './profile_images/medium/'; 
$configThumbMedium['maintain_ratio'] = TRUE; 
$configThumbMedium['width']   = 167; 
$configThumbMedium['height']   = 167; 
$configThumbMedium['thumb_marker'] = ""; 
/* size 167*167 for profile page */ 

if(!$this->upload->do_upload('image')){ 
    return 0; 
} 

$uploadedDetails = $this->upload->data(); 
if($uploadedDetails['is_image'] == 1){ 
    $this->image_lib->initialize($configThumb); 
    $this->image_lib->resize(); 
    $this->image_lib->initialize($configThumbMedium); 
    $this->image_lib->resize(); 
} 

希望它有幫助。

+0

格式很好的答案。一旦我檢查,我會接受答案。謝謝 。 – prakashchhetri

+0

它適合你嗎? –