2013-04-08 42 views
5

我目前使用imagick在我的webssite上进行图像处理。我已经正确安装并且工作得很好。这里我的起始代码 - :如何知道imagick是否引发错误 - PHP

$image = new imagick($filename); $geo=$image->getImageGeometry(); 
$image->setImageInterlaceScheme(2); $image->setImageCompressionQuality(85); 
$image->setImageBackgroundColor('white'); $image = $image->flattenImages(); 
$image->setImageFormat('jpg'); $image->stripImage(); 

之后,我做了部分的其余部分。现在假设它会抛出一个错误,我该如何编码。我尝试在$image = new imagick($filename)之后添加if(!$image){ echo 'error' exit(); },但徒劳无功。

请帮助...谢谢大家:)

回答

11

如果发生错误,Imagick将抛出一个ImagickException可以捕获:

try { 
     $image = new Imagick($filename); 
     $geo = $image->getImageGeometry(); 
     $image->setImageInterlaceScheme(2); 
     $image->setImageCompressionQuality(85); 
     $image->setImageBackgroundColor('white'); 
     $image = $image->flattenImages(); 
     $image->setImageFormat('jpg'); 
     $image->stripImage(); 
    } catch (ImagickException $e) 
{ 
     var_dump($e); 
    } 

进一步参考见here

+0

非常感谢:) – sanchitkhanna26 2013-04-08 19:36:01

+0

ImagickException似乎没有文档(至少在php.net上)。 – Bell 2017-01-31 20:19:59