


PHP implements adding watermark effect to an image, _PHP tutorial
php can add a watermark effect to a picture,
php can add a watermark effect to a picture
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
|
Let’s look at another one that supports adding watermarks to pictures in two ways: pictures and text. Pictures support three formats: GIF, PNG, and JPG. Watermark pictures support PNG and GIF
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
|
Parameter description:
$imgSrc: target image, can have relative directory address,
$markImg: watermark image, which can have a relative directory address and supports both PNG and GIF formats. For example, if the watermark image is in the mark directory of the executable file, it can be written as: mark/mark.gif
$markText: watermark text added to the image
$TextColor: font color of watermark text
$markPos: The position where the image watermark is added, value range: 0~9
0: Random position, randomly select a position between 1~8
1: Top left 2: Top center 3: Top right 4: Left center
5: Center of the picture 6: Center on the right 7: Center on the bottom 8: Center on the bottom 9: Center on the bottom
$fontType: specific font library, can have relative directory address
$markType: The way to add watermarks to pictures, img means to add watermarks as pictures, text means to add watermarks as text
Code comments:
Line 4~6: Get the width and height of the target image
Lines 8~22: Call different functions according to the image type to obtain the operation image identifier
GetImageSize function knowledge point: GetImageSize can be used without installing GD, and its return value array has four elements. Index value 0 is the image height. Index value 1 is the width of the image. Index value 2 is the file format of the image, with value 1 being GIF format, 2 being JPEG/JPG format, and 3 being PNG format. Index value 3 is the height and width string of the image, height=xxx width=yyy. The width and height units of the returned image are pixels
Lines 24~58: When selecting the image method to add a watermark to the target image, obtain the width and height of the watermark image, which is usually the logo of the website. If the target image is smaller in width or height than the watermark image or the watermark image does not exist, jump out of this function.
Return statement knowledge point: direct return means returning nothing and ending the function directly. It can also be understood as returning NULL.
Lines 60~77: When selecting the text method to add a watermark to the target image, first set the size of the watermark text. By default, I set it to 16px. You can adjust the font size as needed. If the font file does not exist, jump out of the function, and finally obtain the virtual length and width of the text in this format through the imagettfbbox function.
Imagettfbbox function knowledge point: This function returns an array containing 8 cells to represent the four corners of the text frame. The meaning of the index value: 0 represents the X position of the lower left corner, 1 represents the Y position of the sitting corner, and 2 represents the X position of the lower right corner. Position, 3 represents the Y position of the lower right corner, 4 represents the X position of the upper right corner, 5 represents the Y position of the upper right corner, 6 represents the X position of the upper left corner, and 7 represents the Y position of the upper left corner. This function requires the support of both GD library and FreeType library
The max function returns the largest value among the parameters.
Line 79~125: Calculate the specific coordinate value based on the set image watermark position. You can refine the watermark position according to the effect.
Lines 127~129: Create a new image with the same size as the target image.
Note: Since the scope of the imagecreatetruecolor function is a black image, if your target image is transparent, the new image generated will not be transparent.
Lines 131~162: Based on the image or text, the image with the watermark is finally generated.
Calling instructions:
You can call it by function call. Of course, you can also encapsulate it in a class, or you can further subdivide this function into modules as needed. Of course, there is no problem if you use it this way now. I have tested it, so please feel free to use it.
Other instructions:
Since the imagettftext and imagettfbbox functions require the support of the GD library and the FreeType library, if your operating environment does not support the GD library and the FreeType library, the text mode cannot be implemented. You can use the imagestring function to add text watermarks to images, and set Just set the $logow and $logoh values in text mode.
The imagejpeg function can also set the quality of the synthesized image.
Articles you may be interested in:
- PHP class used to add watermarks to images
- Super easy to use php upload image class (random name, thumbnail, Add watermark)
- PHP image watermarking principle (super simple example code)
- php text watermark and php image watermark implementation code (two watermarking methods)
- PHP The watermark function can be added by uploading pictures for proportional scaling
- PHP implements the function of adding watermarks to pictures
- PHP encapsulation class for adding watermarks to pictures for compression and cutting

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

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.
