PHP | GmagickDraw bezier() Function
The GmagickDraw::bezier() function is an inbuilt function in PHP which is used to draw bezier curve.
Syntax:
GmagickDraw GmagickDraw::bezier( array $coordinate_array )
Parameters: This function accepts a single parameter $coordinate_array which holds the multidimensional array which takes the points through which curve is to be made.
Return Value: This function returns GmagickDraw object on success.
Exceptions: This function throws GmagickDrawException on error.
Used Image: To capture the canvas area.
Below given programs illustrate the GmagickDraw::bezier() function in PHP:
Program 1: Simple Bezier Curve
<?php // Create a new Gmagick object $gmagick = new Gmagick( 'w3wiki.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(); ?> |
Output:
Program 2: Bezier curve with stroke and fill
<?php // Create a new Gmagick object $gmagick = new Gmagick( 'w3wiki.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(); ?> |
Output:
Reference: https://www.php.net/manual/en/gmagickdraw.bezier.php