Home php教程 php手册 简单的php图片上传自动给图片加水印

简单的php图片上传自动给图片加水印

May 25, 2016 pm 04:46 PM
thumbnail

给自己网站上的图片添加水印,在图片上留下属于自己的信息,这有两个好处:一是宣传自己的品牌,二是就算带图片的文章被转载了,也会自动的留下了版权。

本文主要实现了php图片上传自动给图片加水印,在下篇中我会给出用php添加文字水印的代码。

php给图片加水印其实很简单,没有想象的那么神奇,就是利用了php里面的一个GD库。说起GD库,其实就是php里面一个专门用于处理图片有关的扩展,比如我们熟悉的验证码、生成缩略图,包括今天所说的php给图片加水印都是要有GD库的支持。

提示:新安装的php环境,可能需要开启GD库,开启方法:打开php.ini,去掉extension=php_gd2.dll前面的“;”然后重启apache/iis即可。

实现并不复杂,核心代码还不到20行,主要是掌握几个函数就行了。

实现源码:

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

<?php

$ori_img = "images/13801220684507.jpg"; //原图

$water_img = "logo.png"; //水印

$new_img = "images/daixiaorui.jpg"; //生成水印后的图片

$original = getimagesize($ori_img); //得到图片的信息,可以print_r($original)发现它就是一个数组

$watermark = getimagesize($water_img);

$s_original = imgCreateFrom($ori_img, $original[2]); //$original[2]是图片类型,其中1表示gif、2表示jpg、3表示png

$s_watermark = imgCreateFrom($water_img, $watermark[2]);

$posX = $original[0] - $watermark[0] - 6; //X坐标(右下角)

$poxY = $original[1] - $watermark[1] - 3; //Y坐标(右下角)

//打水印

imagecopy($s_original, $s_watermark, $posX, $poxY, 0, 0, $watermark[0], $watermark[1]);

//header("Content-type:image/jpeg");

//imagejpeg($s_original); //向浏览器输出图片

$loop = imagejpeg($s_original, $new_img); //生成新的图片(jpg格式),如果用imagepng可以生成png格式

if ($loop) {

    echo "水印添加成功!";

}

//根据文件类型 创建一个新图象

function imgCreateFrom($img_src, $val) {

    switch ($val) {

        case 1:

            $img = imagecreatefromgif($img_src);

            break;

        case 2:

            $img = imagecreatefromjpeg($img_src);

            break;

        case 3:

            $img = imagecreatefrompng($img_src);

            break;

    }

    return $img;

}

?>

Copy after login

给图片添加水印除了用基础的GD库实现,其实还可以ImageMagick这个工具,它的功能更强大,不过一般没多大需求,就用上面这个代码了。

永久地址:

转载随意~请带上教程地址吧^^

Statement of this Website
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

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to disable taskbar thumbnail preview in Win11? Turn off the taskbar icon display thumbnail technique by moving the mouse How to disable taskbar thumbnail preview in Win11? Turn off the taskbar icon display thumbnail technique by moving the mouse Feb 29, 2024 pm 03:20 PM

How to disable taskbar thumbnail preview in Win11? Turn off the taskbar icon display thumbnail technique by moving the mouse

How to customize folder thumbnails in Windows 11 22H2 How to customize folder thumbnails in Windows 11 22H2 Apr 30, 2023 pm 04:52 PM

How to customize folder thumbnails in Windows 11 22H2

How to display thumbnails in Vscode_How to display thumbnails in Vscode How to display thumbnails in Vscode_How to display thumbnails in Vscode Apr 02, 2024 pm 02:43 PM

How to display thumbnails in Vscode_How to display thumbnails in Vscode

Automatic thumbnail generation using JavaScript Automatic thumbnail generation using JavaScript Jun 16, 2023 pm 12:51 PM

Automatic thumbnail generation using JavaScript

How to display thumbnails on USB drive How to display thumbnails on USB drive Feb 12, 2024 pm 08:36 PM

How to display thumbnails on USB drive

How to implement image scrolling and thumbnail preview in Vue? How to implement image scrolling and thumbnail preview in Vue? Aug 18, 2023 pm 01:51 PM

How to implement image scrolling and thumbnail preview in Vue?

Detailed explanation of the steps to generate thumbnails in PHP Detailed explanation of the steps to generate thumbnails in PHP Sep 13, 2023 am 08:40 AM

Detailed explanation of the steps to generate thumbnails in PHP

How to insert a table in a Powerpoint presentation How to insert a table in a Powerpoint presentation Apr 13, 2023 pm 10:37 PM

How to insert a table in a Powerpoint presentation

See all articles