Home > Backend Development > PHP Tutorial > Detailed example of how to generate images using PHP built-in functions

Detailed example of how to generate images using PHP built-in functions

怪我咯
Release: 2023-03-11 17:22:02
Original
2702 people have browsed it

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 an image

Create a new php file and name it new-image.php (you can name it arbitrarily to facilitate subsequent calls) Just fine).

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");
Copy after login

No matter which of the above methods you use, we have created a Picture, and save the picture into the variable of $myImage.

Step 2: Add colors

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);
Copy after login

Step 3: Draw graphics

You can also use some of PHP’s built-in functions to add some geometric graphics:

ImageEllipse() //绘制椭圆
ImageArc() //绘制曲线
ImagePolygon() //绘制多边形
ImageRectangle() //绘制矩形
ImageLine() //绘制线条
Copy after login

Here is an example

ImageRectangle($myImage, 50, 20, 200, 15, $blue);
Copy after login

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);
Copy after login

Step 4: Add text

We can use the imagettftext() function to add text to the image:

imagettftext($myImage, 12, 0, 5, 20, $black, "Fonts/Oblivious font.ttf",  "这是要显示的内容");
Copy after login

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 the picture

When you have successfully drawn the picture 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);
Copy after login

Next, because we no longer need the $myImage variable, we need to release its memory:

ImageDestroy($myImage);
Copy after login

Step 6: Call the picture

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文件的路径,你就会发现刚才创建的图片已经被成功的调用了
Copy after login

Use imagepng() to generate an image file

<?php imagepng($myImage,"xxx.jpg"); ?>
Copy after login
Copy after login
<?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");
?>
Copy after login
<?php imagepng($myImage,"xxx.jpg"); ?>
Copy after login
Copy after login

The above code will be in the root directory Generate a picture file of xxx.jpg.

The above is the detailed content of Detailed example of how to generate images using PHP built-in functions. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template