2012-10-26 137 views
0

我想調整大小的圖像沒有圖像被扭曲。例如,如果我已經設置圖像高度爲100和寬度爲200.The圖像大小必須是100高度和200寬度。爲了實現這一點,我想裁剪圖像,而不是扭曲。調整圖像的大小而不失真圖像在codeigniter

我的配置選項: -

  $config['create_thumb'] = TRUE; 
      $config['maintain_ratio'] = FALSE; 
      $config['master_dim'] = 'auto'; 
      $config['width'] = 100; 
      $config['height']= 100; 

      $this->image_lib->initialize($config); 
      $this->image_lib->resize(); 

也是它能夠在不使用圖像處理的任何其他庫?

回答

1

我已經解決了我的問題。我不得不重新調整圖像大小然後剪裁。無論如何,如果你有比這更好的建議,那麼它有點漫長的過程。

我的代碼:

  //Resize Image 
      $config = array(); 
      $config['image_library'] = 'gd2'; 
      $config['source_image'] = './assets/original/'.$image_name; 
      $config['new_image'] = './assets/banner/'.$image_name; 
      $config['create_thumb'] = FALSE; 
      $config['maintain_ratio'] = TRUE; 
      $config['master_dim']= 'width'; 
      $config['quality'] = '100'; 
      $config['width'] = 1260; 
      $config['height']= 645; 
      $this->image_lib->initialize($config); 
      $this->image_lib->resize(); 
      // Crop Image 
      $config = array(); 
      $config['image_library'] = 'gd2'; 
      $config['source_image'] = './assets/banner/'.$image_name; 
      $config['new_image'] = './assets/banner/'.$image_name; 
      $config['create_thumb'] = FALSE; 
      $config['maintain_ratio'] = FALSE; 
      $config['quality'] = '100'; 
      $config['x_axis'] = 0; 
      $config['y_axis'] = 0; 
      $config['width'] = 1260; 
      $config['height']= 645; 
      $this->image_lib->initialize($config); 
      $this->image_lib->crop(); 
+0

此外,作物中心的形象,你可以添加此 \t列表($ current_width,$ current_height)=和getimagesize($ source_image); $ config ['x_axis'] =($ current_width/2) - (225/2); $ config ['y_axis'] =($ current_height/2) - (225/2); – Nadeshwaran

1
$this->image_lib->resize(); 

我想那一定是

$this->image_lib->crop(); 
1

你要麼調整或裁剪它像有人在這裏說。

如果CROP

$config['image_library'] = 'imagemagick'; 
$config['library_path'] = '/usr/X11R6/bin/'; 
$config['source_image'] = '/path/to/image/mypic.jpg'; 
$config['x_axis'] = '100'; 
$config['y_axis'] = '60'; 
$this->image_lib->initialize($config); 

if (! $this->image_lib->crop()) 
{ 
    echo $this->image_lib->display_errors(); 
} 

如果調整大小正好是你所擁有的。