2013-07-07 2 views
2

기본적으로 이미지를 크기가 다른 두 개의 이미지로 리사이즈하려고합니다. 그러나 처음에만 크기를 조정할 수 있습니다 featured_$filenamethumb_$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

하이로드 라이브러리는 제 설정과 새로운 이미지 이름 new_image 설정 패스 경로를 통과 $this->image_lib->initialize($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

그것이 효과가 있었습니까? –

관련 문제