PHP Tutorial
PHP Flow Control
PHP Functions
PHP String
PHP Array
PHP Date Time
PHP Object Oriented
Regular Expression
PHP Cookie & Session
PHP Error & Exception handling
MySQL in PHP
PHP File Directory
PHP Image Processing
PHP provides several functions to create and manipulate images through the GD library. Here's a simple example of how to create a new image and draw some shapes on it:
<?php // Create a new true color image $image = imagecreatetruecolor(400, 300); // Allocate colors $white = imagecolorallocate($image, 255, 255, 255); $red = imagecolorallocate($image, 255, 0, 0); $blue = imagecolorallocate($image, 0, 0, 255); // Fill the image with white color imagefill($image, 0, 0, $white); // Draw a red rectangle imagerectangle($image, 50, 50, 200, 200, $red); // Draw a blue ellipse imageellipse($image, 200, 150, 200, 100, $blue); // Output the image header('Content-type: image/png'); imagepng($image); // Free memory imagedestroy($image); ?>
In this example, imagecreatetruecolor()
is used to create a new true color image. imagecolorallocate()
is used to allocate colors for use in the image. imagefill()
is used to fill the image with white color. imagerectangle()
and imageellipse()
are used to draw a rectangle and an ellipse on the image. Finally, imagepng()
is used to output the image in PNG format.
Remember to call imagedestroy()
when you're done with an image resource to free up memory.
This will output an image of a red rectangle and a blue ellipse on a white background.
Make sure your PHP installation has the GD library enabled. You can check this by calling phpinfo()
and looking for the section on GD. If GD is not enabled, you will need to install or enable it. This process depends on your server configuration and your PHP installation.
How to use GD library to draw images in PHP: Use the GD library to create and draw on an image:
<?php $width = 400; $height = 200; // Create a blank image $image = imagecreatetruecolor($width, $height); // Set background color $bgColor = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $bgColor); // Draw on the image (e.g., lines, shapes, text) // Output the image to the browser header('Content-Type: image/png'); imagepng($image); imagedestroy($image); ?>
Drawing shapes with PHP GD library: Draw basic shapes like lines, rectangles, and circles:
<?php $image = imagecreatetruecolor(400, 200); $bgColor = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $bgColor); // Draw a line $lineColor = imagecolorallocate($image, 0, 0, 255); imageline($image, 50, 50, 350, 150, $lineColor); // Draw a rectangle $rectColor = imagecolorallocate($image, 255, 0, 0); imagerectangle($image, 100, 100, 300, 150, $rectColor); // Draw a circle $circleColor = imagecolorallocate($image, 0, 255, 0); imageellipse($image, 200, 100, 100, 100, $circleColor); header('Content-Type: image/png'); imagepng($image); imagedestroy($image); ?>
PHP imagecreate()
function for creating a blank image:
Use imagecreate()
to create a blank image:
<?php $width = 400; $height = 200; $image = imagecreate($width, $height); // Draw on the image header('Content-Type: image/png'); imagepng($image); imagedestroy($image); ?>
Drawing lines on images in PHP with imageline()
:
Use imageline()
to draw lines on images:
<?php $image = imagecreatetruecolor(400, 200); $lineColor = imagecolorallocate($image, 0, 0, 255); imageline($image, 50, 50, 350, 150, $lineColor); header('Content-Type: image/png'); imagepng($image); imagedestroy($image); ?>
PHP GD library for drawing rectangles on images:
Draw rectangles on images using imagerectangle()
:
<?php $image = imagecreatetruecolor(400, 200); $rectColor = imagecolorallocate($image, 255, 0, 0); imagerectangle($image, 100, 100, 300, 150, $rectColor); header('Content-Type: image/png'); imagepng($image); imagedestroy($image); ?>
Filling shapes and areas with colors in PHP images: Fill shapes and areas with colors:
<?php $image = imagecreatetruecolor(400, 200); $bgColor = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $bgColor); $rectColor = imagecolorallocate($image, 255, 0, 0); imagefilledrectangle($image, 100, 100, 300, 150, $rectColor); header('Content-Type: image/png'); imagepng($image); imagedestroy($image); ?>
Drawing circles and ellipses with PHP GD library: Draw circles and ellipses on images:
<?php $image = imagecreatetruecolor(400, 200); $bgColor = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $bgColor); $circleColor = imagecolorallocate($image, 0, 255, 0); imageellipse($image, 200, 100, 100, 100, $circleColor); $ellipseColor = imagecolorallocate($image, 255, 0, 255); imagefilledellipse($image, 300, 100, 80, 120, $ellipseColor); header('Content-Type: image/png'); imagepng($image); imagedestroy($image); ?>
Adding text to images in PHP with imagettftext()
:
Add text to images using imagettftext()
:
<?php $image = imagecreatetruecolor(400, 200); $bgColor = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $bgColor); $textColor = imagecolorallocate($image, 0, 0, 0); $font = 'arial.ttf'; // Replace with the path to a TTF font file imagettftext($image, 20, 0, 50, 100, $textColor, $font, 'Hello, PHP!'); header('Content-Type: image/png'); imagepng($image); imagedestroy($image);
PHP GD imagecopy()
for copying and blending images:
Use imagecopy()
for copying and blending images:
<?php $background = imagecreatefrompng('background.png'); $overlay = imagecreatefrompng('overlay.png'); imagecopy($background, $overlay, 50, 50, 0, 0, imagesx($overlay), imagesy($overlay)); header('Content-Type: image/png'); imagepng($background); imagedestroy($background); imagedestroy($overlay);