2013-08-06 305 views
1

這是第一次,即時通訊使用ImageMagick 以及我嘗試裁剪圖像,但問題是,我得到這個錯誤:裁剪圖像

圖像處理失敗。請驗證您的服務器是否支持 選定的協議,並且圖像庫的路徑是否正確。

這裏是我的代碼

$config['image_library'] = 'imagemagick'; 
$config['library_path'] = '/usr/bin'; 
$config['source_image'] ="./assets/profile_pic.jpg"; 
$config['create_thumb'] = TRUE; 
$config['maintain_ratio'] = FALSE; 
$config['x_axis'] = 300; 
$config['y_axis'] = 300; 
//$config['width'] = 650; 
//$config['height'] = 353;  
$config['new_image'] = "./assets/profile_pic.jpg"; 

$this->load->library('image_lib', $config); 
//$this->image_lib->crop(); 
$this->image_lib->initialize($config); 
if (!$this->image_lib->crop()){ 
    echo $this->image_lib->display_errors(); 
} 

所以我應該下載ImageMagick的或類似的東西?

thx guys!

+0

爲什麼不使用GD2? :/ – sbaaaang

回答

1

下面給了我預期的結果。希望你也會得到同樣的結果。

$this->load->library('image_lib'); 

    //For resizing of image in size of dilog 
    $config['image_library'] = 'ImageMagick'; 
    $config['library_path'] = 'C:\\ImageMagick\\'; 

    $config['source_image'] = $source_filepath; 
    $config['new_image'] = $new_filepath; 

    $config['quality'] = '100%'; 
    $config['maintain_ratio'] = TRUE; 
    $config['x_axis'] = 26; 
    $config['y_axis'] = 54; 
    $config['width'] = 100; 
    $config['height'] = 100; 

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

    if (!$this->image_lib->crop()){ 
     $error_msg = $this->image_lib->display_errors(); 
     print_r($error_msg); 
    } 
    else { 
     echo "Done"; 
    } 

這裏

$config['library_path'] = 'C:\\ImageMagick\\'; 

是,在安裝的ImageMagick的應用程序窗口的路徑。(試着在這樣的文件夾中安裝,這是我們可以很容易地將它映射爲庫路徑)。 圖像庫更改爲:

$config['image_library'] = 'ImageMagick'; 

&其他所有配置保持不變。