Create and process images in PHP_PHP Tutorial
After installing some third-party function libraries, combined with graphics processing skills, you can quickly use PHP to create and process images. In fact, you don't need a lot of geometry knowledge either - I failed that class in middle school and now can create images in PHP!
Before using basic image creation functions, the GD library needs to be installed. To use JPEG-related image creation functions, you also need to install jpeg-6b. When using Type 1 fonts in images, t1lib must also be installed. asdf
Here, you also need to make further adjustments to your system settings. First install t1lib and finish, then jpeg-6b. The third step is to install the GD function library. Make sure the above three parts are installed in order, the reason is that you need to compile the GD library to use the jpeg-6b library. If you install jpeg-6b first, compilation errors will occur, which will leave you confused for a while.
After the three function libraries, reconfigure PHP. This is the typical approach when easily installing the DSO version of PHP. Then execute the make clean command and add the following code to the current configuration prompt:
--with-gd=[/path/to/gd]
--with-jpeg-dir=[/path/to/jpeg-6b]
--with-t1lib=[/path/to/t1lib]
Finally, execute make and make install to complete the configuration. Restart Apache and run the phpinfo() function to check that the new functionality is working properly, and you're good to go.
Depending on the version of the GD library installed, you may have the ability to create GIF or PNG images. The key is that if you have installed gd-1.6 or earlier versions, you can process GIF files, but not PNG files; if you have installed gd-1.6 or later versions, you can process PNG files but not GIF files.
Creating a simple image requires several functions. I will demonstrate it step by step below.
The output contains the header of the MIME type of the image you created, in this case PNG.
header ("Content-type: image/png");
Use ImageCreate() to create a variable to store the blank image. This function requires an image pixel size. The format is ImageCreate(x_size, y_size), for a 250*250 pixel image, as follows:
$newImg = ImageCreate(250,250);
Since your image is still blank at this point, you need to fill it with some color. But first you need to use the ImageColorAllocate() function to determine a name for each color according to the RGB value of the color. The format of the function is ImageColorAllocate([image], [red], [green], [blue]). If it is sky blue, you should use:
$skyblue = ImageColorAllocate($newImg,136,193,255);
Next, use the ImageFill() function to fill the image with the above colors. In fact, there are multiple versions of the ImageFill() function, such as ImageFillRectangle(), ImageFillPolygon(), etc. For the sake of simplicity, the ImageFill() function is used for color filling. The format is as follows:
ImageFill([image], [start x point], [start y point], [color])
ImageFill($newImg,0,0,$skyblue);
Finally, create the final image and destroy the image stream to free up memory and tidy up the system when finished:
ImagePNG($newImg);
ImageDestroy($newImg);
Your code should look like this:
header ("Content-type: image/png");
$newImg = ImageCreate(250,250);
$skyblue = ImageColorAllocate($newImg,136,193,255);
ImageFill($newImg,0,0,$skyblue);
ImagePNG($newImg);
ImageDestroy($newImg);
?>
If you call the script skyblue.php and access it with your browser, you will see a 250*250 pixel blue PNG image.
You can also use image creation functions to process images, such as creating thumbnails for large images.
Suppose you plan to create a 35*35 pixel thumbnail for a certain image. All you have to do is create a new 35*35 pixel size image; generate an image stream containing the contents of the original image; then change the size of the original image and place it into a new blank image.
The key function to achieve this goal is ImageCopyResized(), and the format is as follows: ImageCopyResized([new image handle], [original image handle], [new image X], [new Image Y], [original image X], [ original image Y], [new image X], [new image Y], [original image X], [original image Y]);
Comments below the code:
/* Send the file header to let the browser know the file type */
header("Content-type: image/png");
/*Set variables to save the length and width of the new image*/
$newWidth = 35;
$newHeight = 35;
/* Create a new blank image with the given length and width */
$newImg = ImageCreate($newWidth,$newHeight);
/* Get data from the original large image */
$origImg = ImageCreateFromPNG("test.png");
/* Copy the resized image. Use the functions ImageSX() and ImageSY to obtain the x and x dimensions of the original image */
ImageCopyResized($newImg,$origImg,0,0,0,0,$newWidth,$newHeight,ImageSX($origImg),ImageSY($origImg));
/* Create final image and clear memory */
ImagePNG($newImg);
ImageDestroy($newImg); ?>
If you call the script resized.php and use a browser to access this file, you can see a 35*35 pixel thumbnail PNG image.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
