Introduction to the use of PHP image effect processing functions

PHPz
Release: 2023-06-15 21:04:02
Original
1129 people have browsed it

As a scripting language, PHP has a rich library of image processing functions, which can easily perform various processing operations on images, such as scaling, cutting, watermarking, filters, etc., and supports images in various formats.

In this article, we will introduce commonly used image processing functions in PHP, and provide practical application scenarios and sample codes.

1. Zooming and Cropping

Zooming and cropping are common operations for processing images. Below we will introduce the corresponding PHP image processing functions in detail.

  1. Scale

imagecopyresized() is the most commonly used scaling function in PHP, which can change the size of an image while maintaining the aspect ratio of the original image.

The syntax of this function is as follows:

bool imagecopyresized ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $ dst_h , int $src_w , int $src_h )

Parameter explanation:

  • $dst_image is the target image resource;
  • $src_image is the source image resource;
  • $dst_x and $dst_y are the coordinate positions of the upper left corner of the target image resource;
  • $src_x and $src_y are the coordinate positions of the upper left corner of the source image resource;
  • $dst_w and $dst_h are the width and height of the destination image;
  • $src_w and $src_h are the width and height of the source image.

The following is a code example for scaling an image:

$src_image = imagecreatefrompng('origin.png');
$dst_image = imagecreatetruecolor (300, 300);
$src_w = imagesx($src_image);//Get the source image width
$src_h = imagesy($src_image);//Get the source image height
$dst_w = 300;
$dst_h = 300;
imagecopyresized($dst_image, $src_image, 0, 0, 0, 0, $dst_w, $dst_h, $src_w, $src_h);
imagepng($dst_image, 'resize .png');
imagedestroy($src_image);
imagedestroy($dst_image);
?>

  1. Crop

imagecopyresampled( ) is a function used for cropping in PHP. It has a similar function to imagecopyresized(), but can achieve higher quality scaling effects.

The syntax of this function is as follows:

bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $ dst_h , int $src_w , int $src_h )

The parameter explanation is the same as imagecopyresized().

The following is a code example for cropping an image:

$src_image = imagecreatefrompng('origin.png');
$dst_image = imagecreatetruecolor( 200, 200);
$src_w = imagesx($src_image);//Get the source image width
$src_h = imagesy($src_image);//Get the source image height
$dst_w = 200;
$dst_h = 200;
$x = 0;
$y = 0;
$src_x = ($src_w-$dst_w)/2;
$src_y = ($src_h-$ dst_h)/2;
imagecopyresampled($dst_image, $src_image, $x, $y, $src_x, $src_y, $dst_w, $dst_h, $dst_w, $dst_h);
imagepng($dst_image, ' crop.png');
imagedestroy($src_image);
imagedestroy($dst_image);
?>

2. Watermark

Add watermark to the picture It is a scenario that is often involved in practical applications, and PHP also provides corresponding function support.

The imagecopy() function can be used to overlay one image onto another image to achieve a watermark effect.

The syntax of this function is as follows:

bool imagecopy ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $ src_h )

Parameter explanation:

  • $dst_image is the target image resource;
  • $src_image is the source image resource;
  • $dst_x and $ dst_y is the coordinate position of the upper left corner of the target image resource;
  • $src_x and $src_y are the coordinate positions of the upper left corner of the source image resource;
  • $src_w and $src_h are the source image The width and height of the resource.

The following is a code example with a watermark:

$src_image = imagecreatefrompng('origin.png');
$watermark_image = imagecreatefrompng('watermark.png');
$src_w = imagesx($src_image);//Get the source image width
$src_h = imagesy($src_image);//Get the source image height
$watermark_w = imagesx($watermark_image); // Get the watermark width
$watermark_h = imagesy($watermark_image); // Get the watermark height
$max_width = $src_w - $watermark_w - 10; // Maximum watermark position allowed Width
$max_height = $src_h - $watermark_h - 10; //The maximum height allowed for the watermark position
$x = rand(10, $max_width); //The abscissa of the randomly generated watermark position
$ y = rand(10, $max_height); // Randomly generate the vertical coordinate of the watermark position
imagecopy($src_image, $watermark_image, $x, $y, 0, 0, $watermark_w, $watermark_h);
imagepng($src_image, 'watermarked.png');
imagedestroy($src_image);
imagedestroy($watermark_image);
?>

3. Filter

PHP also provides a variety of filter effects to make pictures more interesting and artistic.

The imagefilter() function supports a variety of filter effects, such as inversion, grayscale, blur, etc. For details, please refer to the PHP official documentation.

The following is a code example using filter effects:

$src_image = imagecreatefrompng('origin.png');
imagefilter($src_image, IMG_FILTER_PIXELATE, 15, true);//Mosaic
imagefilter($src_image, IMG_FILTER_CONTRAST , -50);//Adjust contrast
imagepng($src_image, 'filter.png');
imagedestroy($src_image);
?>

The above code implements Mosaic and contrast adjustment of a picture.

To sum up, PHP provides powerful support in image processing, and the functions are simple and easy to use, which can meet the needs of most application scenarios. Understanding these commonly used image processing functions will greatly improve efficiency in web application development.

The above is the detailed content of Introduction to the use of PHP image effect processing functions. For more information, please follow other related articles on the PHP Chinese website!

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