使用 CodeIgniter 處理縮圖
codeigniter 也有方便的 lib 處理圖片縮圖的部分,簡單的範例如下。
上頭的程式碼告訴 image_resize 函式庫去找一個位於 source_image 資料夾裡名叫 mypic.jpg 的圖片,然後呼叫 GD2 image_library 影像函式庫來創建一張尺寸為 1024 X 1024 像素的縮圖,有設定 maintain_ratio 選項時,縮圖會在維持原本的長寬比例下,會盡可能的接近 width 跟 height 的像素尺寸大小,所以這個可以用來設定照片的最長邊,可以搭配伺服器抓到的圖片尺寸來判斷是否要縮圖,而縮圖的檔名會命名為 mypic_thumb.jpg。
若要一次上傳多張照片,就需要 reset image_lib。
檢查錯誤的話使用 $this->image_lib->display_errors();
- $config['image_library'] = 'gd2';
- $config['source_image'] = '/path/to/image/mypic.jpg';
- $config['create_thumb'] = TRUE;
- $config['maintain_ratio'] = TRUE;
- $config['width'] = 1024;
- $config['height'] = 1024;
- $this->load->library('image_lib',$config);
- $this->image_lib->resize();
上頭的程式碼告訴 image_resize 函式庫去找一個位於 source_image 資料夾裡名叫 mypic.jpg 的圖片,然後呼叫 GD2 image_library 影像函式庫來創建一張尺寸為 1024 X 1024 像素的縮圖,有設定 maintain_ratio 選項時,縮圖會在維持原本的長寬比例下,會盡可能的接近 width 跟 height 的像素尺寸大小,所以這個可以用來設定照片的最長邊,可以搭配伺服器抓到的圖片尺寸來判斷是否要縮圖,而縮圖的檔名會命名為 mypic_thumb.jpg。
若要一次上傳多張照片,就需要 reset image_lib。
- $this->load->library('image_lib');
- $this->image_lib->clear();
- $this->image_lib->initialize($config);
- $this->image_lib->resize();
- if ( ! $this->image_lib->resize())
- {
- echo $this->image_lib->display_errors();
- return;
- }
檢查錯誤的話使用 $this->image_lib->display_errors();
留言