PHP |想象一下 setProgressMonitor()函数
Imagick::setProgressMonitor()函数是PHP中的一个内置函数,用于设置一个回调函数,如果出现问题,将在 Imagick 图像处理期间调用该回调函数。您可以使用此函数暂停程序,然后再继续进行。
句法:
bool Imagick::setProgressMonitor( callable $callback )
参数:此函数接受一个包含回调函数的参数$callback 。
返回值:此函数在成功时返回 TRUE。
异常:此函数在出错时抛出 ImagickException。
下面的程序说明了PHP中的Imagick::setProgressMonitor()函数:
方案一:
newImage(640, 480, "blue");
$status = 'Not cancelled';
$text = '
';
// 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
方案二:
newImage(600, 400, "white");
$status = 'Not cancelled';
$text = '
';
// 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