How to use GD library to process images in PHP?
How to use the GD library to process images in PHP?
The GD library is a powerful image processing library. Using the GD library in PHP can implement some simple image processing functions, such as cropping, scaling, adding watermarks, etc. This article will introduce how to use the GD library to process images in PHP and give some specific code examples.
First, make sure the GD library extension is enabled on the server. You can find and uncomment "extension=gd" in the php.ini file, and then restart the server.
Next, let’s look at some common image processing operations.
- Create thumbnails
To create thumbnails, we use the imagecopyresampled function in the GD library to scale down the original image to the specified size. The following is a sample code:
function createThumbnail($src, $dst, $width, $height) { $src_img = imagecreatefromjpeg($src); // 从原图像创建一个图像资源 $dst_img = imagecreatetruecolor($width, $height); // 创建一个指定大小的新图像资源 $src_width = imagesx($src_img); // 原图像的宽度 $src_height = imagesy($src_img); // 原图像的高度 $ratio = max($width / $src_width, $height / $src_height); // 计算缩放比例 $new_width = ceil($src_width * $ratio); // 计算缩略图的宽度 $new_height = ceil($src_height * $ratio); // 计算缩略图的高度 $x_offset = ($new_width - $width) / 2; // 计算水平偏移量 $y_offset = ($new_height - $height) / 2; // 计算垂直偏移量 imagecopyresampled($dst_img, $src_img, -$x_offset, -$y_offset, 0, 0, $new_width, $new_height, $src_width, $src_height); // 缩放图像 imagejpeg($dst_img, $dst); // 将缩略图保存到指定路径 imagedestroy($src_img); // 销毁图像资源 imagedestroy($dst_img); } // 示例使用 $source_image = 'original.jpg'; // 原图像路径 $thumbnail_image = 'thumbnail.jpg'; // 生成的缩略图路径 $thumbnail_width = 200; // 缩略图宽度 $thumbnail_height = 150; // 缩略图高度 createThumbnail($source_image, $thumbnail_image, $thumbnail_width, $thumbnail_height);
- Add watermark
To add a watermark, we use the imagecopy function in the GD library to overlay the watermark image on the original image at the specified position. . The following is a sample code:
function addWatermark($src, $dst, $watermark) { $src_img = imagecreatefromjpeg($src); // 从原图像创建一个图像资源 $watermark_img = imagecreatefrompng($watermark); // 从水印图像创建一个图像资源 $src_width = imagesx($src_img); // 原图像的宽度 $src_height = imagesy($src_img); // 原图像的高度 $watermark_width = imagesx($watermark_img); // 水印图像的宽度 $watermark_height = imagesy($watermark_img); // 水印图像的高度 $x_offset = $src_width - $watermark_width - 10; // 水印图像的水平偏移量 $y_offset = $src_height - $watermark_height - 10; // 水印图像的垂直偏移量 imagecopy($src_img, $watermark_img, $x_offset, $y_offset, 0, 0, $watermark_width, $watermark_height); // 将水印图像覆盖在原图像上 imagejpeg($src_img, $dst); // 将带有水印的图像保存到指定路径 imagedestroy($src_img); // 销毁图像资源 imagedestroy($watermark_img); } // 示例使用 $source_image = 'original.jpg'; // 原图像路径 $watermark_image = 'watermark.png'; // 水印图像路径 $watermarked_image = 'watermarked.jpg'; // 带有水印的图像路径 addWatermark($source_image, $watermarked_image, $watermark_image);
Through the above sample code, we can use the GD library to process images in PHP to generate thumbnails and add watermarks. Of course, the GD library also supports more image processing operations, such as image rotation, image border addition, etc., and can be expanded according to actual needs.
The above is the detailed content of How to use GD library to process images in PHP?. For more information, please follow other related articles on the PHP Chinese website!

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

Golang image processing: How to perform color gradient and grayscale mapping of images Introduction: With the development of digital media, image processing has become an indispensable part of our daily life. In the Go language, we can use some libraries for image processing, such as github.com/disintegration/imaging. This article will introduce how to use this library to perform color gradient and grayscale mapping of images. 1. Introduce the library First, we need to introduce github.com/ in the Go project

Overview of how to use Golang to enhance borders and edges on images: In the field of image processing, border and edge enhancement is a commonly used technique that can effectively improve the visual effects of images and improve the accuracy of image recognition. This article will introduce how to use Golang language to perform border and edge enhancement operations on images, and provide corresponding code examples. Note: This article assumes that you have installed and configured the Golang development environment in your local environment. Import dependency packages First, we need to import the following dependency packages for image processing operations

Laravel Development Suggestions: How to Optimize Image Processing and Caching Introduction In modern web development, image processing and caching is a common and important issue. Optimizing image processing and caching strategies not only improves website performance and user experience, but also reduces bandwidth consumption and server load. This article will explore methods and suggestions on how to optimize image processing and caching in Laravel development. 1. Choose the appropriate image format Choosing the appropriate image format is the first step in optimizing image processing. Common image formats include JPEG and PNG

How to use Golang to mask and mask effects on pictures In modern image processing, masking and masking effects are very common special effects. This article will introduce how to use Golang to mask and mask effects on images. Installing the Necessary Libraries Before we start, we need to install some necessary libraries to process images. Run the following command to install the necessary libraries: goget-ugithub.com/fogleman/gggoget-ugolang.org/x/im

How to use PHP to blur images Image blurring is a common operation in image processing, which can add a blur effect to the image to make it look softer and more artistic. In PHP, we can use the GD library to blur images. The following will introduce how to use PHP to blur images, and attach corresponding code examples. Installing the GD library Before starting, you need to make sure that your server has the GD library installed. You can do this by adding the phpinfo() function to your PHP file

How to use Python to add noise to pictures Introduction: With the development of technology, digital image processing has become a common image processing method. Among them, adding noise to the image is an important step in image processing. By adding noise, the realism and complexity of the image can be improved. This article will introduce how to use Python to add noise to images and provide relevant code examples. 1. Understanding image noise Image noise refers to random disturbances that affect image quality and clarity. Common image noises include Gaussian noise,

How to handle image caching and preloading in Vue? When developing Vue projects, we often need to deal with caching and preloading of images to improve website performance and user experience. This article will introduce some methods of handling image caching and preloading in Vue, and give corresponding code examples. 1. Image caching uses image lazy loading (LazyLoading) Image lazy loading is a technology that delays loading images, that is, the image is not loaded until the page scrolls to the location of the image. This reduces requests for image resources when the page is first loaded

How to use Laravel to implement image processing functions requires specific code examples. Nowadays, with the development of the Internet, image processing has become an indispensable part of website development. Laravel is a popular PHP framework that provides us with many convenient tools to process images. This article will introduce how to use Laravel to implement image processing functions, and give specific code examples. Install LaravelInterventionImageInterven
