Home  >  Article  >  Backend Development  >  PHP and GD library tutorial: How to add light and shadow effects to pictures

PHP and GD library tutorial: How to add light and shadow effects to pictures

PHPz
PHPzOriginal
2023-07-13 23:03:281431browse

PHP and GD library tutorial: How to add light and shadow effects to pictures

Introduction:
In web design and image processing, adding light and shadow effects to pictures is a common technical means. By using PHP and GD library, we can easily achieve this effect. This article will teach you how to use PHP and the GD library to add light and shadow effects to images, with code examples.

1. Introduction to GD library
The GD library is an open source library used to process images. It provides a series of functions and tools for creating, manipulating and outputting various types of images. In this tutorial, we will use some functions of the GD library to implement light and shadow effects.

2. Preparation
First, make sure the GD library is installed on your server. You can check whether the GD library has been installed through the following command:

php -m | grep gd

If "gd" is output in the terminal, it means that the GD library has been installed. Otherwise, please install it according to the following command:

apt-get install php-gd

3. Basic ideas for adding light and shadow effects to pictures
Adding light and shadow effects to pictures mainly includes the following steps:

  1. Open the original picture and create a new canvas.
  2. Create an area of ​​the same size as the original image on the new canvas based on the size of the original image.
  3. Copy the original image to a new canvas.
  4. Achieve light and shadow effects by changing the brightness and transparency of the picture.
  5. Save the modified image.

The following is a specific code example:

<?php
// 原始图片路径
$sourceImage = 'path/to/source/image.jpg';

// 创建画布
$image = imagecreatefromjpeg($sourceImage);

// 获取原始图片尺寸
$width = imagesx($image);
$height = imagesy($image);

// 创建一个与原始图片相同大小的底图
$backgroundImage = imagecreatetruecolor($width, $height);

// 复制原始图片到底图上
imagecopy($backgroundImage, $image, 0, 0, 0, 0, $width, $height);

// 循环遍历每个像素点,改变亮度和透明度
for ($x = 0; $x < $width; $x++) {
   for ($y = 0; $y < $height; $y++) {
       $rgb = imagecolorat($backgroundImage, $x, $y);
       $r = ($rgb >> 16) & 0xFF;
       $g = ($rgb >> 8) & 0xFF;
       $b = $rgb & 0xFF;
       
       // 添加光影效果
       $newR = $r + 50; // 亮度增加50
       $newG = $g + 50;
       $newB = $b + 50;
       $newA = 100; // 透明度设为100

       $newColor = imagecolorallocatealpha($backgroundImage, $newR, $newG, $newB, $newA);
       imagesetpixel($backgroundImage, $x, $y, $newColor);
   }
}

// 输出修改后的图片
header('Content-type: image/png');
imagepng($backgroundImage);

// 保存修改后的图片
$newImage = 'path/to/save/image.png';
imagepng($backgroundImage, $newImage);

// 释放内存
imagedestroy($image);
imagedestroy($backgroundImage);
?>

4. Run the code
Save the above code as a PHP file, and then access the file through the browser to see Time to add a new image with light and shadow effects.

Conclusion:
This tutorial introduces how to use PHP and GD library to add light and shadow effects to pictures. By using some functions of the GD library, we can achieve this effect very conveniently. I hope this tutorial is helpful to you and can be applied in actual projects.

Reference materials:

  • PHP official documentation - https://www.php.net/manual/en/book.image.php

The above is the detailed content of PHP and GD library tutorial: How to add light and shadow effects to pictures. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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