La función ImagickDraw::setFillPatternURL() es una función incorporada en PHP que se usa para configurar la URL para usarla como patrón de relleno para llenar objetos. La URL en realidad es un nombre único de un patrón con un ‘#’ antes del nombre.
Sintaxis:
bool ImagickDraw::setFillPatternURL( string $fill_url )
Parámetros: esta función acepta un solo parámetro $fill_url que contiene la URL.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Los siguientes programas ilustran la función ImagickDraw::setFillPatternURL() 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(); // Push the pattern $draw->pushPattern("MyPattern", 0, 0, 50, 50); $color = ['blue', '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 fill Opacity $draw->setFillOpacity(0); // Set the fill pattern URL $draw->setFillPatternURL('#MyPattern'); // Draw a rectangle on which pattern is made $draw->rectangle(0, 0, 400, 400); // 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:
<?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->rectangle($x, $y + 80, $x % 2, $y); } } // Pop the pattern $draw->popPattern(); // Set the fill Opacity $draw->setFillOpacity(0); // Set the fill pattern URL $draw->setFillPatternURL('#MyPattern'); // Draw a rectangle on which pattern is made $draw->rectangle(0, 0, 900, 900); // 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.setfillpatternurl.php