Home>Article>Backend Development> You must understand how to add image watermarks in PHP

You must understand how to add image watermarks in PHP

WBOY
WBOY Original
2021-10-20 14:59:43 6073browse

In the previous article, I brought you "How to complete image scaling and cropping in PHP? (Detailed explanation of examples)》, which introduces how to zoom and crop graphics in PHP through examples. This article continues to take a look at the knowledge of graphics processing in PHP and how we should add graphics to pictures. watermark. I hope everyone has to help!

You must understand how to add image watermarks in PHP

In our daily lives, in order to prevent our pictures from being stolen, we often see watermarks added to some pictures. For example, on our website, enter the picture file A watermark will be automatically added to the lower right corner. So how is this watermark effect achieved? The effect of adding watermarks to images can be achieved through PHP.

In the previous article, the operation of cropping the image and placing it on the target image is somewhat similar to adding a watermark. In order to add a watermark, you need to use the imagecopymerge function.

imagecopymergeFunction

The syntax format of the imagecopymerge function is as follows :

imagecopymerge($目标图片,$来源图片,$目标开始的x ,$目标开始的y,$来源的x ,$来源的y ,$来源的宽 ,$来源的高 ,$透明度)

The transparency value is an integer from 0 to 100. The greater the transparency value, the more opaque the watermark is.

Next, let’s take a look at how to add a watermark to an image through an example:

First, we prepared a picture named test.png and a watermark named logo.png. The picture is placed in our root directory

You must understand how to add image watermarks in PHP

Note that the above is a sample picture, the watermark below is not added by me, it is automatically added by the website, in order to distinguish , the watermark of the example is as follows

You must understand how to add image watermarks in PHPYou must understand how to add image watermarks in PHP

Then, the operation is as follows:

Output result:

You must understand how to add image watermarks in PHP

As can be seen from the above results, a watermark with a transparency of 50 is added through the imagecopymerge function.

Expand knowledgeimagecopyFunction

In addition to using the imagecopymerge function to add a watermark, you can also use theimagecopy()function, which can copy part of the function. Its syntax format is as follows:

imagecopy($目标图片, $来源图片,$目标图片x,$目标图片y,$来源图片x,$来源图片y,$来源图片宽,$来源图片高)

Its meaning is to select a rectangular area with width w and height h from (x, y) of the source image to (x, y) of the target image.

Use the imagesx() and imagesy() functions in PHP to obtain the width and height of the image respectively. Their syntax format is as follows:

imagesx(resource $image) imagesy(resource $image)

The example is as follows:

 $district OR $district > 9) $district = 9; switch($district){ case 1: $x = +5; $y = +5; break; case 2: $x = ($img_w - $watermark_w) / 2; $y = +5; break; case 3: $x = $img_w - $watermark_w - 5; $y = +5; break; case 4: $x = +5; $y = ($img_h - $watermark_h) / 2; break; case 5: $x = ($img_w - $watermark_w) / 2; $y = ($img_h - $watermark_h) / 2; break; case 6: $x = $img_w - $watermark_w; $y = ($img_h - $watermark_h) / 2; break; case 7: $x = +5; $y = $img_h - $watermark_h - 5; break; case 8: $x = ($img_w - $watermark_w) / 2; $y = $img_h - $watermark_h - 5; break; case 9: $x = $img_w - $watermark_w - 5; $y = $img_h - $watermark_h - 5; break; } switch ($imginfo[2]) { case 1: $im = @imagecreatefromgif($img); break; case 2: $im = @imagecreatefromjpeg($img); break; case 3: $im = @imagecreatefrompng($img); break; } switch ($watermarkinfo[2]) { case 1: $watermark_logo = @imagecreatefromgif($watermark); break; case 2: $watermark_logo = @imagecreatefromjpeg($watermark); break; case 3: $watermark_logo = @imagecreatefrompng($watermark); break; } if(!$im or !$watermark_logo) return false; $dim = @imagecreatetruecolor($img_w, $img_h); if(@imagecopy($dim, $im, 0, 0, 0, 0,$img_w,$img_h )){ imagecopy($dim, $watermark_logo, $x, $y, 0, 0, $watermark_w, $watermark_h); } $file = dirname($img) . '/w' . basename($img); $result = imagejpeg ($dim,$file,$watermarkquality); imagedestroy($watermark_logo); imagedestroy($dim); imagedestroy($im); if($result){ echo $img.' 水印添加成功'; return; } else { return false; } } $file = 'test.png'; //待加水印的图片地址 $water = 'logo.png'; //水印图片的地址 watermark($file, $water); ?>

Output result:

You must understand how to add image watermarks in PHP

The effect is as follows:

You must understand how to add image watermarks in PHP

Recommended study: "PHP Video Tutorial"

The above is the detailed content of You must understand how to add image watermarks in PHP. For more information, please follow other related articles on the PHP Chinese website!

php
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