PHP | Función ImagickDraw setVectorGraphics()

La función ImagickDraw::setVectorGraphics() es una función incorporada en PHP que se usa para configurar los gráficos vectoriales asociados con el objeto ImagickDraw especificado. Los gráficos vectoriales contienen todos los comandos de dibujo dados a un objeto ImagickDraw. Esta función se puede utilizar para copiar comandos de dibujo de un objeto a otro o para editar los comandos de dibujo.

Sintaxis:

bool ImagickDraw::setVectorGraphics( string $xml )

Parámetros: esta función acepta un solo parámetro $xml que contiene los gráficos vectoriales.

Valor de retorno: esta función devuelve VERDADERO en caso de éxito.

Excepciones: esta función lanza ImagickException en caso de error.

Los siguientes programas ilustran la función ImagickDraw::setVectorGraphics() en PHP:

Programa 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();
?>

Producción:

Programa 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();
?>

Producción:

Referencia: https://www.php.net/manual/en/imagickdraw.setvectorgraphics.php

Publicación traducida automáticamente

Artículo escrito por gurrrung y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *