當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。