2013-08-06 309 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'; 

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