La función ImagickDraw::clone() es una función incorporada en PHP que se usa para hacer una copia exacta del objeto ImagickDraw especificado.
Sintaxis:
ImagickDraw ImagickDraw::clone( void )
Parámetros: Esta función no acepta ningún parámetro.
Valor devuelto: esta función devuelve la copia exacta del objeto ImagickDraw especificado en caso de éxito o error en caso de falla.
Excepciones: esta función lanza ImagickException en caso de error.
Los siguientes programas ilustran la función ImagickDraw::clone() en PHP:
Programa 1:
<?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(); // Set the text properties $draw->setFontSize(100); $draw->setFillColor('blue'); // Apply the annotation() function $draw->annotation(50, 150, 'GeeksforGeeks'); // Create a new ImagickDraw object $copied = new ImagickDraw(); // Copy the object $copied = $draw->clone(); // Render the draw commands from copied object $imagick->drawImage($copied); // 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(); // Draw a circle $draw->circle(200, 100, 100, 100); // Create a new ImagickDraw object $copied = new ImagickDraw(); // Copy the object $copied = $draw->clone(); // Render the draw commands from copied object $imagick->drawImage($copied); // Add a border $imagick->borderImage('black', 1, 1); // Show the output $imagick->setImageFormat("png"); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagickdraw.clone.php