Home > Article > Backend Development > How to implement image processing and watermark addition in PHP project?
How to implement image processing and watermark addition in PHP project?
In recent years, with the rapid development of the Internet, the use of images has played an increasingly important role in web design and application development. In order to meet users' needs for high-quality images, we need to implement image processing and watermark adding functions in the PHP project. This article will introduce a simple and effective method to achieve this goal.
1. PHP image processing functions
PHP provides a series of functions for image processing, which can help us perform operations such as scaling, cropping, and rotating images. These functions include but are not limited to:
2. Implement the image scaling function
Suppose we need to scale an image to a specified width and height. We can use the following code to achieve this:
function resizeImage($srcFile, $dstFile, $newWidth, $newHeight) { list($srcWidth, $srcHeight, $srcType) = getimagesize($srcFile); $srcImage = imagecreatefromjpeg($srcFile); $dstImage = imagecreatetruecolor($newWidth, $newHeight); imagecopyresampled($dstImage, $srcImage, 0, 0, 0, 0, $newWidth, $newHeight, $srcWidth, $srcHeight); imagejpeg($dstImage, $dstFile); imagedestroy($srcImage); imagedestroy($dstImage); }
This code First get the width and height of the original image through the getimagesize() function, and then use the imagecreatefromjpeg() function to create the original image as an image resource. Next, use the imagecreatetruecolor() function to create a new blank image with the specified new width and height. Finally, use the imagecopyresampled() function to scale and copy the original image into a new image, and then use the imagejpeg() function to save the new image.
3. Implement the image watermark function
In addition to the zoom function, sometimes we also need to add a watermark to the image. You can use the following code to achieve this:
function addWatermark($srcFile, $dstFile, $watermarkFile) { $srcImage = imagecreatefromjpeg($srcFile); $watermarkImage = imagecreatefrompng($watermarkFile); $srcWidth = imagesx($srcImage); $srcHeight = imagesy($srcImage); $watermarkWidth = imagesx($watermarkImage); $watermarkHeight = imagesy($watermarkImage); $posX = ($srcWidth - $watermarkWidth) / 2; $posY = ($srcHeight - $watermarkHeight) / 2; imagecopy($srcImage, $watermarkImage, $posX, $posY, 0, 0, $watermarkWidth, $watermarkHeight); imagejpeg($srcImage, $dstFile); imagedestroy($srcImage); imagedestroy($watermarkImage); }
This code first uses imagecreatefromjpeg () and imagecreatefrompng() functions create original images and watermark images as image resources respectively. Then, use the imagesx() and imagesy() functions to obtain the width and height of the original image and the watermark image respectively. Next, calculate where to place the watermark and then use the imagecopy() function to copy the watermark onto the original image. Finally, use the imagejpeg() function to save the image with the watermark.
4. Summary
By using PHP’s image processing functions, we can easily implement image processing and watermark adding functions. Whether it is scaling or adding watermarks, it can be achieved through these functions. The above code is just a simple example to implement these functions. According to actual needs, we can customize more complex image processing logic. I hope this article can help you implement image processing and watermark adding in PHP projects!
The above is the detailed content of How to implement image processing and watermark addition in PHP project?. For more information, please follow other related articles on the PHP Chinese website!