Home > Article > Backend Development > How to draw polygons, arcs and ellipses in PHP? (Detailed explanation with pictures and text)
In the previous article, I brought you " Detailed analysis of how to define colors, draw points, lines and rectangles in PHP? ", which talks about the relevant knowledge of drawing points, lines and rectangles in PHP. In this article, let's take a look at how to draw other graphics. I hope everyone has to help!
After the previous article, I have already understood the basic graphics drawing with PHP, including how to draw a rectangle. Since rectangles can be drawn, then triangles and pentagons How should it be drawn? So let's take a look at how to draw polygons in PHP.
Drawing polygons
is somewhat similar to drawing rectangles. There are two functions to draw polygons, which are imagepolygon ()
function and imagefilledpolygon()
function, their syntax format is as follows:
imagepolygon(resource $image, array $points, int $num_points, int $color) imagefilledpolygon(resource $image, array $points, int $num_points, int $color)
The reason why it is similar to the two functions of rectangle is because, after the imagepolygon() function The color is the color used to draw the edges of the polygon, and the color following the imagefilledpolygon() function is the color used to draw the internal filling of the polygon.
In the syntax, $image represents the canvas; $points is an array; the third parameter $num_points is used to set the number of vertices of the polygon, which must be greater than 3.
The example is as follows:
<?php $img = imagecreate(300, 150); imagecolorallocate($img, 255, 255, 255); $green = imagecolorallocate($img, 0, 255, 0); $blue = imagecolorallocate($img, 0, 0, 255); $points1 = array( 255,35, 250,15, 295,56, 233,115, 185,77 ); $points2 = array( 10,5, 100,15, 140,66, 70,135, 25,77 ); imagepolygon($img, $points1, rand(3, 5), $blue); imagefilledpolygon($img, $points2, rand(3, 5), $green); header('Content-type:image/jpeg'); imagejpeg($img); imagedestroy($img); ?>
Output result:
##Draw an ellipse
In PHP, you can draw an ellipse through theimageellipse() function. Similar to drawing a polygon, you can also draw and fill the ellipse through the
imagefilledellipse() function. .Their syntax format is as follows:
imageellipse(resource $image, int $x, int $y, int $width, int $height, int $color) imagefilledellipse(resource $image, int $x, int $y, int $width, int $height, int $color)Among them, $x and $y represent the horizontal and vertical coordinates of the center of the ellipse respectively; $width and $height represent the width and height of the ellipse respectively, and the following $colorb represents respectively Set the edge color of the ellipse and the fill color of the ellipse.
<?php $img = imagecreate(300, 150); imagecolorallocate($img, 255, 255, 255); $green = imagecolorallocate($img, 0, 255, 0); $blue = imagecolorallocate($img, 0, 0, 255); imagefilledellipse($img, 75, 75, 120, 80, $green); imageellipse($img, 225, 75, 90, 120,$blue); header('Content-type:image/jpeg'); imagejpeg($img); imagedestroy($img); ?>Output result:
Draw arc
imagearc() function and the
imagefilledarc() function. The different Yes, the color of the arc drawn by the imagearc() function is the edge color, and the arc drawn by the imagefilledarc() function is filled. Their syntax format is as follows:
imagearc(resource $image, int $x, int $y, int $width, int $height, int $start, int $end, int $color) imagefilledarc(resource $image, int $x, int $y, int $width, int $height, int $start, int $end, int $color, int $style)where $x and $y represent the horizontal and vertical coordinates of the arc center point respectively; $width and $height represent the width and height of the arc respectively; $start and $ end represents the starting point angle and the ending point angle of the arc respectively. We also need to note that the imagefilledarc() function has one more $style parameter than the imagearc() function. This parameter is used to set the color fill type. It has the following types:
IMG_ARC_PIE: normal filling, producing a circular border;
IMG_ARC_CHORD : Only use straight lines to connect the starting point and the end point. It should be noted that it is mutually exclusive with IMG_ARC_PIE;
IMG_ARC_NOFILL: Specifies that the arc or chord only has an outline, not Fill;
IMG_ARC_EDGED: Connect the start and end points to the center point with a straight line.
<?php $img = imagecreate(300, 100); imagecolorallocate($img, 255, 255, 255); $blue = imagecolorallocate($img, 0, 0, 255); imagearc($img, 100, 50, 50, 80, 0, 270, $blue); imagefilledarc($img, 200, 55, 80, 30, 130, 100, $blue, IMG_ARC_EDGED|IMG_ARC_NOFILL); header('Content-type:image/jpeg'); imagejpeg($img); imagedestroy($img); ?>Output result:
PHP video tutorial》
The above is the detailed content of How to draw polygons, arcs and ellipses in PHP? (Detailed explanation with pictures and text). For more information, please follow other related articles on the PHP Chinese website!