La función GmagickDraw::bezier() es una función incorporada en PHP que se usa para dibujar la curva bezier.
Sintaxis:
GmagickDraw GmagickDraw::bezier( array $coordinate_array )
Parámetros: esta función acepta un solo parámetro $coordinate_array que contiene la array multidimensional que toma los puntos a través de los cuales se va a hacer la curva.
Valor de retorno: esta función devuelve el objeto GmagickDraw en caso de éxito.
Excepciones: esta función lanza GmagickDrawException en caso de error.
Imagen utilizada: para capturar el área del lienzo.
Los siguientes programas ilustran la función GmagickDraw::bezier() en PHP:
Programa 1: Curva Bezier simple
<?php // Create a new Gmagick object $gmagick = new Gmagick('geeksforgeeks.png'); // Create a GmagickDraw object $draw = new GmagickDraw(); // Set the color $draw->setFillColor('#0E0E0E'); // Function to draw rectangle $draw->rectangle(-10, -10, 800, 400); // Set the fill color $draw->setFillColor('#3D99D4'); // Set the stroke width $draw->setStrokeWidth(5); // Draw the curve $draw->bezier([ ['x' => 10, 'y' => 10], ['x' => 0, 'y' => 0], ['x' => 620, 'y' => 0], ['x' => 550, 'y' => 170], ]); // Use of drawimage function $gmagick->drawImage($draw); // Display the output image header("Content-Type: image/png"); echo $gmagick->getImageBlob(); ?>
Producción:
Programa 2: Curva Bezier con trazo y relleno
<?php // Create a new Gmagick object $gmagick = new Gmagick('geeksforgeeks.png'); // Create a GmagickDraw object $draw = new GmagickDraw(); // Set the color $draw->setFillColor('#0E0E0E'); // Function to draw rectangle $draw->rectangle(-10, -10, 800, 400); // Set the fill color $draw->setFillColor('yellow'); // Set the stroke color $draw->setstrokecolor('purple'); // Set the stroke width $draw->setStrokeWidth(5); // Draw the curve $draw->bezier([ ['x' => 10, 'y' => 10], ['x' => 0, 'y' => 150], ['x' => 620, 'y' => 0], ['x' => 550, 'y' => 170], ]); // Use of drawimage function $gmagick->drawImage($draw); // Display the output image header("Content-Type: image/png"); echo $gmagick->getImageBlob(); ?>
Producción:
Referencia: https://www.php.net/manual/en/gmagickdraw.bezier.php