2010-10-17 120 views
1

嘿:)我想調整圖像的大小時,我將其放在表單中(保存到數據庫)。我不認爲這會是一個問題[指向圖像等,但是我要去顯示拇指的空間是228 x 228。我知道我可以保持比例並確定控制器的大小,但它是如何完成的在經常不同大小的圖像上?使用Codeigniter調整圖像大小

解決此問題的最佳方法是將預先計算的值(使自己的比率)放在我的表單中,以便控制器可以使用這些值來確定最大高度和寬度?看代碼。

$config['image_library'] = 'gd2'; 
$config['source_image'] = '/path/to/image/mypic.jpg'; 
$config['create_thumb'] = TRUE; 
$config['maintain_ratio'] = TRUE; 
$config['width']  = 75; // use $this->input->post('width') instead?? 
$config['height'] = 50; // use $this->input->post('height') 

或者有沒有辦法告訴函數不大於228且不超過228?

感謝

回答

1

我不確定你想要什麼,但通過使用以下設置,你可以確保圖像的寬度或高度是228px。如果寬度>高度,寬度將是228px。反之亦然。

$config['maintain_ratio'] = TRUE; 
$config['master_dim'] = 'auto' // auto is default, so you can leave this out 
$config['width'] = 228; 
$config['height'] = 228; 

master_dim

指定作爲主 軸調整或創建拇指時使用的東西。 例如,假設您想將 調整爲100 x 75像素的圖像大小。如果 源圖像大小不允許 對這些尺寸完美調整大小,則此設置確定應將哪個軸 用作硬值。 「自動」根據圖像是否更高,然後更寬,或者反之亦然,自動設置軸 。

如果這不是你的意思,請多加一點解釋。

+0

我認爲那正是我想要的。只要寬度和高度沒有設置爲「必須是228 x 228」的尺寸,我會看到你在說什麼,我相信它會起作用,謝謝你 – Brad 2010-10-18 02:29:32

1

getImageSize()

我想你不得不放棄一些邏輯控制器來處理這個問題。使用上述功能,您可以測試上傳圖像的高度/寬度,並根據需要調整大小。

+0

據我所知,大部分圖像會大得多。我想你是在說測試正確的比例? – Brad 2010-10-18 02:30:34