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


PHP ImagickDraw setVectorGraphics()用法及代碼示例


ImagickDraw::setVectorGraphics()函數是PHP中的內置函數,用於設置與指定ImagickDraw對象關聯的矢量圖形。矢量圖形包含提供給ImagickDraw對象的所有繪製命令。此函數可用於將繪圖命令從一個對象複製到另一個對象或用於編輯繪圖命令。

用法:

bool ImagickDraw::setVectorGraphics( string $xml )

參數:該函數接受保存矢量圖形的單個參數$xml。


返回值:成功時此函數返回TRUE。

異常:該函數在錯誤時引發ImagickException。

以下示例程序旨在說明PHP中的ImagickDraw::setVectorGraphics()函數:

程序1:

<?php 
  
// Create a new imagick object 
$imagick = new Imagick(); 
  
// Create a image on imagick object 
$imagick->newImage(800, 250, 'black'); 
  
// Create a new ImagickDraw object 
$draw = new ImagickDraw(); 
  
// Set the fill color 
$draw->setFillColor('white'); 
  
// set the font size 
$draw->setFontSize(80); 
  
// Annotate a text 
$draw->annotation(60, 120, 'GeeksforGeeks'); 
  
// Get the vector graphics 
$vectorGraphics = $draw->getVectorGraphics(); 
  
// Create a new ImagickDraw object 
$draw2 = new ImagickDraw(); 
  
// Paste vector graphics to new object 
$draw2->setVectorGraphics($vectorGraphics); 
  
// Render the draw commands from new object 
$imagick->drawImage($draw2); 
  
// Show the output 
$imagick->setImageFormat('png'); 
header("Content-Type: image/png"); 
  
echo $imagick->getImageBlob(); 
?>

輸出:

程序2:

<?php 
  
// Create a new imagick object 
$imagick = new Imagick(); 
  
// Create a image on imagick object 
$imagick->newImage(800, 250, 'black'); 
  
// Create a new ImagickDraw object 
$draw = new ImagickDraw(); 
  
// Set the fill color 
$draw->setFillColor('blue'); 
  
// Draw a circle 
$draw->circle(200, 150, 190, 100); 
  
// Get the vector graphics 
$vectorGraphics =  $draw->getVectorGraphics(); 
  
// Change the color from blue to red 
$vectorGraphics = str_replace("'#00000000FFFF'", 
         "'#FFFF00000000'", $vectorGraphics); 
  
// Setting the new vector graphics 
$draw->setVectorGraphics($vectorGraphics); 
  
// Render the draw commands 
$imagick->drawImage($draw); 
  
// Show the output 
$imagick->setImageFormat('png'); 
header("Content-Type: image/png"); 
  
echo $imagick->getImageBlob(); 
?>

輸出:

參考: https://www.php.net/manual/en/imagickdraw.setvectorgraphics.php



相關用法


注:本文由純淨天空篩選整理自gurrrung大神的英文原創作品 PHP | ImagickDraw setVectorGraphics() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。