当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP Imagick setProgressMonitor()用法及代码示例


Imagick::setProgressMonitor()函数是PHP中的内置函数,用于设置回调函数,如果出现问题,将在Imagick图像处理期间调用该函数。您可以使用此函数暂停程序,然后再继续操作。

用法:

bool Imagick::setProgressMonitor( callable $callback )

参数:该函数接受一个包含回调函数的参数$callback。


返回值:成功时此函数返回TRUE。

异常:该函数在错误时引发ImagickException。

以下示例程序旨在说明PHP中的Imagick::setProgressMonitor()函数:

程序1:

<?php 
  
// Create a new Imagick object 
$imagick = new Imagick(); 
  
// Create a image in Imagick object 
$imagick->newImage(640, 480, "blue"); 
  
$status = 'Not cancelled'; 
$text = '<br>'; 
  
// Callback function 
$callback = function ($offset, $span) use (&$status, $text) { 
    $status = "Callback is called" . $text; 
    return false; 
}; 
  
// Set the Progress Monitor 
$imagick->setProgressMonitor($callback); 
  
try { 
    // $x and $y are undefined thus a call to 
    // callback funcction is expected here 
    $imagick->charcoalImage($x, $y); 
    echo "Callback function wasn't called."; 
} catch (\Exception $e) { 
    echo $status; 
} 
?>

输出:

Callback is called

程序2:

<?php 
  
// Create a new Imagick object 
$imagick = new Imagick(); 
  
// Create a image in Imagick object 
$imagick->newImage(600, 400, "white"); 
  
$status = 'Not cancelled'; 
$text = '<br>'; 
  
// Callback function 
$callback = function ($offset, $span) use (&$status, $text) { 
    $status = "Callback is called" . $text; 
    return true; 
}; 
  
// Set the Progress Monitor 
$imagick->setProgressMonitor($callback); 
  
try { 
    // $x and $y are defined thus a call to 
    // callback funcction is expected here 
    $x = 20; 
    $y = 5; 
    $imagick->charcoalImage($x, $y); 
    echo "Callback function wasn't called."; 
} catch (\Exception $e) { 
    echo $status; 
} 
  
?>

输出:

Callback function wasn't called.

参考: https://www.php.net/manual/en/imagick.setprogressmonitor.php



相关用法


注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | Imagick setProgressMonitor() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。