Home > Article > Backend Development > Detailed explanation of how PHP uses built-in functions to generate images, _PHP tutorial
The example in this article describes how PHP uses built-in functions to generate images. Share it with everyone for your reference, the details are as follows:
Step 1: Create a picture
Create a new php file and name it new-image.php (you can name it arbitrarily to facilitate subsequent calls).
There are two functions in PHP to create an image: imageCreate() creates an empty image; ImageCreateFromPng() creates an image using an existing png image as the background. ("Png" here can be replaced with "jpg" or "gif", depending on the format of the background image)
$myImage=ImageCreate(400,60); //参数为宽度和高度 $myImage=ImageCreateFromJpg("http://farm5.static.flickr.com/418978874_c349c14359_o.jpg");
No matter which method you use above, we have created an image and saved it in the $myImage variable.
Step 2: Add color
At this time we need to create some colors through the ImageColorAllocate() function and store them in variables for later use.
$white=ImageColorAllocate($myImage, 255, 255, 255); $black=ImageColorAllocate($myImage, 0, 0, 0); $red=ImageColorAllocate($myImage, 255, 0, 0); $green=ImageColorAllocate($myImage, 0, 255, 0); $blue=ImageColorAllocate($myImage, 0, 0, 255);
Step 3: Draw graphics
You can also use some of PHP’s built-in functions to add some geometric shapes:
ImageEllipse() //绘制椭圆 ImageArc() //绘制曲线 ImagePolygon() //绘制多边形 ImageRectangle() //绘制矩形 ImageLine() //绘制线条
Here is an example
ImageRectangle($myImage, 50, 20, 200, 15, $blue);
At this time, you will find that only the outline of the rectangle is drawn. If you want a filled rectangle, use the ImageFilledRectangle() method:
ImageFilledRectangle($myImage, 50, 20, 200, 15, $blue);
Step 4: Add text
We can use the imagettftext() function to add text to images:
Copy code The code is as follows: imagettftext($myImage, 12, 0, 5, 20, $black, "Fonts/Oblivious font.ttf", "This is to be displayed content");
You must have noticed that here you need to choose a font (Fonts/Oblivious font.ttf is used here, you can use your own favorite font). If you don’t know how to obtain fonts, you can Google it. There are many websites for downloading fonts, and the content inside is enough to dazzle you.
Step 5: Generate images
When you have successfully drawn the image you want to display, you need to display it on the page. The first thing to do is to tell the page that the data you want to send to it is a picture:
//这里的png可以换成jpg,或者是gif,根据你要生成的图片格式来确定 header("Content-type:image/png"); ImagePng($myImage);
Next, because we no longer need the variable $myImage, we need to release its memory:
ImageDestroy($myImage);
Step 6: Call the image
Through the previous five steps, we have created a picture. Let me tell you how to call this created picture.
In the HTML file, we use the url to introduce this image:
<img src="new-image.php的路径" alt="myImage" /> //在src中,写入new-image.php文件的路径,你就会发现刚才创建的图片已经被成功的调用了
Use imagepng() to generate an image file
<?php imagepng($myImage,"xxx.jpg"); ?>
For example:
<?php $myImage=ImageCreate(400,60); //参数为宽度和高度 $white=ImageColorAllocate($myImage, 255, 255, 255); $black=ImageColorAllocate($myImage, 0, 0, 0); $red=ImageColorAllocate($myImage, 255, 0, 0); $green=ImageColorAllocate($myImage, 0, 255, 0); $blue=ImageColorAllocate($myImage, 0, 0, 255); imagettftext($myImage, 12, 0, 5, 20, $red, "stxingka.ttf", "果冻 Elvis"); ?> <?php imagepng($myImage,"xxx.jpg"); ?>
The above code will generate an xxx.jpg image file in the root directory.
Readers who are interested in more PHP-related content can check out the special topics of this site: "Summary of PHP graphics and image operation skills", "Complete of PHP array (Array) operation skills", "Summary of PHP mathematical operation skills", "php Summary of Date and Time Usage", "Introduction Tutorial on PHP Object-Oriented Programming", "Summary of PHP String Usage", "Introduction Tutorial on PHP MySQL Database Operation" and "Summary of Common PHP Database Operation Skills"
I hope this article will be helpful to everyone in PHP programming.