La función ImagickDraw::affine() es una función incorporada en PHP que se utiliza para ajustar la array de transformación afín actual.
Sintaxis:
bool ImagickDraw::affine( array $affine )
Parámetros: esta función acepta un solo parámetro $affine que contiene la array que contiene los parámetros de la array afín.
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::affine() en PHP:
Programa 1:
<?php // Create a new Imagick object $imagick = new Imagick(); // Create a image on imagick object with // green background $imagick->newImage(800, 250, 'green'); // Create a new ImagickDraw object $draw = new ImagickDraw(); // Translate the object $draw->translate(100, 100); // Apply the affine() function $draw->affine(array("sx" => 7, "sy" => 1, "rx" => 9, "ry" => 0, "tx" => 200, "ty" => 0)); // Draw a rectangle $draw->rectangle(-50, -50, 50, 50); // Render the draw commands in the ImagickDraw object $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 with // purple background $imagick->newImage(800, 250, 'purple'); // Create a new ImagickDraw object $draw = new ImagickDraw(); // Translate the object $draw->translate(100, 100); // Apply the affine() function $draw->affine(array("sx" => 2, "sy" => 1, "rx" => 0, "ry" => 0, "tx" => 0, "ty" => 0)); // Draw a rectangle $draw->rectangle(0, -50, 50, 50); // Draw a rectangle $draw->rectangle(100, 50, 150, 100); // Draw a rectangle $draw->rectangle(200, -10, 250, 90); // Render the draw commands in the ImagickDraw object $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.affine.php