📜  PHP |想象一下 setProgressMonitor()函数

📅  最后修改于: 2022-05-13 01:56:32.287000             🧑  作者: Mango

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