2012-06-25 22 views
0

我正在嘗試將全尺寸圖像海報調整爲文件的三個較小變體。我首先保存全尺寸的海報,然後使用它的路徑來創建較小的海報。問題是尺寸不正確。我有一個$ conf數組包含所有圖像的一般配置信息,然後我有一個$ conf數組爲每個具有特定更改(如大小)的圖像。我在每個新的init之前清除lib。Codeigniter - 重新調整多個圖像的大小,但大小錯誤?

// Config for all images 
$conf['source_image'] = $file_path; 
$conf['quality'] = 80; 
$conf['maintain_ratio'] = true; 
$conf['master_dim'] = 'auto'; 

// Small 
$conf['new_image'] = 'img/movie_images/posters_small/' . $file_name; 
$conf['height'] = 75; 
//$conf['width'] = 55; 

$this->image_lib->initialize($conf); 
$this->image_lib->resize(); 
$this->image_lib->clear(); 
//unset($conf['width']); 

// Medium 
$conf['new_image'] = 'img/movie_images/posters_medium/' . $file_name; 
$conf['height'] = 200; 

$this->image_lib->initialize($conf); 
$this->image_lib->resize(); 
$this->image_lib->clear(); 

// Big 
$conf['new_image'] = 'img/movie_images/posters_big/' . $file_name; 
$conf['height'] = 300; 

$this->image_lib->initialize($conf); 
$this->image_lib->resize(); 
$this->image_lib->clear(); 

查看代碼中的錯誤?我嘗試輸出錯誤,因爲有人在這裏提出了另一個問題,但是也沒有顯示任何內容。我不明白它是如何工作的。如果我將「master_dim」設置爲auto,則第一個(小)圖像的高度是正確的,但默認寬度(真的很寬)。如果我將master_dim設置爲「寬度」,小圖像保持不變(真的很寬,但高度正確)。如果我將master_dim設置爲「高度」,它們都會得到正確的高度,但小的仍然是超寬。

任何想法?

回答

0

正如你可以在代碼中看到的,我試着玩弄小圖像的寬度以獲得正確的大小,但沒有得到它的工作。

將master_dim設置爲高度,並且還手動設置小圖像的寬度後,它就像我想要的那樣工作。