La función ImagickDraw::setStrokePatternURL() es una función incorporada en PHP que se utiliza para establecer el patrón utilizado para trazar contornos de objetos.
Sintaxis:
bool ImagickDraw::setStrokePatternURL( string $stroke_url )
Parámetros: esta función acepta un solo parámetro $stroke_url que contiene la URL del patrón de trazos.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Los siguientes programas ilustran la función ImagickDraw::setStrokePatternURL() en PHP:
Programa 1: En este programa crearemos un rectángulo con contorno diseñado.
<?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(); // Push the pattern $draw->pushPattern("MyPattern", 0, 0, 50, 50); $color = ['red', 'black', 'cyan']; for ($x = 0; $x < 50; $x += 10) { for ($y = 0; $y < 50; $y += 5) { $draw->setFillColor($color[$y % 3]); $draw->circle($x, $y + 80, $x % 2, $y); } } // Pop the pattern $draw->popPattern(); // Set the stroke pattern URL $draw->setStrokePatternURL('#MyPattern'); // Set the stroke width $draw->setStrokeWidth(10); // Draw a rectangle on which pattern is made $draw->rectangle(200, 50, 500, 200); // Render the draw commands $imagick->drawImage($draw); // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Programa 2: En este programa crearemos un círculo con un contorno diseñado.
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick->newImage(800, 250, 'white'); // Create a new imagickDraw object $draw = new ImagickDraw(); // Push the pattern $draw->pushPattern("MyPattern", 0, 0, 50, 50); for ($x = 0; $x < 50; $x += 10) { for ($y = 0; $y < 50; $y += 5) { $draw->setFillColor('green'); $draw->rectangle($x, $y + 10, $x % 5, $y); } } // Pop the pattern $draw->popPattern(); // Set the stroke pattern URL $draw->setStrokePatternURL('#MyPattern'); // Set the stroke width $draw->setStrokeWidth(10); // Draw a circle $draw->circle(300, 100, 350, 20); // 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.setstrokepatternurl.php