我試圖通過這種方式裁剪圖像(通過捲曲抓取),以便裁剪後的圖像爲171 x 118像素。我試圖讓它以這樣的方式工作,以便抓取任何171x118px的圖像和作物區域,而不是強制將圖像重新設置爲171x118px。所以原始圖像是http://www.mirzar.com/ember/actual-image.png,它應該輸出http://www.mirzar.com/ember/desired-crop.png而不是http://www.mirzar.com/ember/cropped.png。如何使用Imagemagick在CodeIgniter中進行重力縮放?
這裏是我到目前爲止的代碼:
$config['image_library'] = 'ImageMagick';
$config['library_path'] = '/usr/bin/';
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = FALSE;
$this->load->library('image_lib', $config);
$dimensions[0] = array('x'=>171, 'y'=>118, 'dir'=>'small');
$dimensions[1] = array('x'=>154, 'y'=>105, 'dir'=>'medium');
$dimensions[2] = array('x'=>312, 'y'=>164, 'dir'=>'large');
for ($i=0; $i<3;$i++){
$filesize = filesize($filename);
$config['image_library'] = 'ImageMagick';
$config['library_path'] = '/usr/bin/';
$config['source_image'] = $filename;
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = FALSE;
$config['width'] = $dimensions[$i]['x'];
/* $config['height'] = $dimensions[$i]['y']; */
$config['master_dim'] = 'width';
$this->image_lib->test();
$this->image_lib->initialize($config);
$this->image_lib->resize();
$this->saveThumbnail($imageid, $ext, $dimensions[$i]['dir'], $i);
}
// regular site pic
$config['width'] = 171;
$config['height'] = 218;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
還要注意的是,在第三個方法我已經添加爲ImageMagick庫「重力中心」的效果相同。 – eyaka1 2011-05-02 23:20:44