Home  >  Article  >  Backend Development  >  Use the GD2 function to draw geometric figures (Typical Application Tutorial 4 of PHP graphics images)

Use the GD2 function to draw geometric figures (Typical Application Tutorial 4 of PHP graphics images)

黄舟
黄舟Original
2017-04-24 17:25:372140browse

Using the GD2 function to draw geometric figures (Typical application tutorial 4 of PHP graphics and images)

This article mainly explains the use of the GD2 function to draw geometric figures. First of all, we need to create an image. As we said in the previous article, creating an image is the first step in all image operations. Then we draw the graphic outline based on the coordinate points on the background, and finally output the graphic!

Then we introduced how to generate a verification code in the previous article "Using image processing technology to generate verification codes (Typical application tutorial of PHP graphics images 3)", I don’t know, friends Have you mastered this knowledge point? Friends who are not familiar with it can review it! Today we explain drawing geometric shapes!

Technical points of this article:

In this article, the GD2 function is mainly used to draw geometric figures, some of which have been performed in previous articles. For a detailed introduction, below we introduce the commonly used functions:

(1) imagecreatetruecolor() function

This function is used to recommend a full-color image file Resource, the syntax format of this function is as follows:

int imagecreatetruecolor(int x_size,int y_size);

The parameters x_size and y_size are the width and height of the image respectively, in pixels (px).

(2)imagecolorallocate() function

This function is used to match the color of the specified image for use by other drawing functions. The syntax format is as follows:

int imagecolorallocate(int im, int red, int green, int blue);

The parameter im represents the handle of the image; the parameters red, green, and blue are the three primary colors of RGB, and their values ​​are integers from 0 to 255 or hexadecimal 0x00~0xff. This function must be called to create each color used in the image represented by image.

(3)imagefilledarc() function

This function is used to draw an ellipse and fill it. The syntax format of this function is as follows:

int imagefilledarc(im, int cx , int w, int h, int s, int e, int color, int style);

In In the image represented by im, draw an elliptical arc with cx, cy (the upper left corner of the image is 0, 0) as the center of the circle. Returns true if successful, false if failed. w and h specify the width and height of the ellipse respectively, the s and e parameters specify the starting point and end point in angle, and color represents the filling color value.

style can be the bitwise OR (OR) value of the following values:

  • IMG_ARC_PIE

  • IMG_ARC_CHORD

  • IMG_ARC_NOFILL

  • IMG_ARC_EDGED

IMG_ARC_PIE and IMG_ARC_CHORD are mutually exclusive; IMG_ARC_CHORD is just connected with a straight line Starting and ending points, IMG_ARC_PIE produces a circular boundary (if both are used, IMG_ARC_CHORD takes effect). IMG_ARC_NOFILL specifies that the arc or chord has only an outline, not a fill. IMG_ARC_EDGED specifies a straight line connecting the start and end points to the center point. Used with IMG_ARC_NOFILL, this is a good way to draw the outline of a pie chart (without filling it).

(4)imagefilledrectangle() function

This function is used to draw a filled rectangle. The syntax format of this function is as follows:

bool imagefilledrectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int$color )

This function colors the closed rectangular area of ​​the picture. The parameters x1, y1 and x2, y2 are the coordinates of the diagonal of the rectangle respectively. The parameter col represents the color to be painted;

(5)imagedestroy( )Function

This function is used to delete graphics and release memory space. The syntax format is as follows:

int imagedestroy(int im);

The parameter im is the imagecreate() function, the graphic created by the imagecreatetruecolor() function!

Let’s now take a look at how to draw geometric figures:

The specific code for the implementation process is as follows:

<?php
header(&#39;Content-type: image/png&#39;);// 告诉浏览器,这个文件,是一个png图片
$img = imagecreatetruecolor(260, 200);//创建一个400X200的画布
$green = imagecolorallocate($img, 20, 145, 40);//定义一个绿颜色
$darkgreen = imagecolorallocate($img, 25, 80, 25);//定义一个深绿颜色
$blue = imagecolorallocate($img, 0, 225, 205);//定义一个蓝颜色
$darkblue = imagecolorallocate($img, 10, 180, 200);//定义一个深蓝颜色
$red = imagecolorallocate($img, 255, 0, 0);//定义一个红颜色
$bluered = imagecolorallocate($img, 202, 10, 0);//定义一个深红颜色
for($i = 110; $i > 100 ; $i--){
    imagefilledarc($img,130,$i,150,100,0,95,$darkgreen,IMG_ARC_PIE);
    imagefilledarc($img,130,$i,150,100,95,125,$darkblue,IMG_ARC_PIE);
    imagefilledarc($img,130,$i,150,100,120,360,$bluered,IMG_ARC_PIE);
}
imagefilledarc($img,130,$i,150,100,0,95,$green,IMG_ARC_PIE);
imagefilledarc($img,130,$i,150,100,95,125,$blue,IMG_ARC_PIE);
imagefilledarc($img,130,$i,150,100,120,360,$red,IMG_ARC_PIE);
imagepng($img);//以png格式输出图像
imagedestroy($img);//释放资源
?>

Output results As follows:

Use the GD2 function to draw geometric figures (Typical Application Tutorial 4 of PHP graphics images)

Using the GD2 function to draw geometric figures, we have finished introducing it here. I believe everyone can master this function, so let’s continue to introduce the image. How to add row and column labels to the chart, please read "Using GD2 function to add row and column labels to the chart (Typical Application Tutorial of PHP Graphics and Images 5)" for details!

The above is the detailed content of Use the GD2 function to draw geometric figures (Typical Application Tutorial 4 of PHP graphics images). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn