千家信息网

PHP中怎么添加图片水印

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇内容主要讲解"PHP中怎么添加图片水印",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PHP中怎么添加图片水印"吧!在我们的日常生活中,为了不希望自己的
千家信息网最后更新 2025年02月05日PHP中怎么添加图片水印

本篇内容主要讲解"PHP中怎么添加图片水印",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PHP中怎么添加图片水印"吧!

在我们的日常生活中,为了不希望自己的图片被盗用,经常能够看到在一些图片上添加水印,比如我们网站上,输入图片文件的话会自动在右下角加上一个水印,那么这种水印效果是怎么实现的呢?通过PHP就可以实现为图片增加水印的效果。

在之前文章中对图片进行裁剪放到目标图上的操作和添加水印有些类似,为了实现添加水印,需要通过 imagecopymerge函数。

imagecopymerge函数

imagecopymerge函数的语法格式如下:

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

其中透明度的值是0-100的整数,透明度的值越大,水印越不透明。

接下来我们通过实例来看一下应该怎样给图片增加水印:

首先准备了一个名为test.png的图片和一个名为logo.png的水印图片放到了我们的根目录里

注意上面这个是示例图片,下面的水印并不是我添加的,是网站自动添加的,为了区分,实例的水印是下面这样的

那接下来,操作如下:

输出结果:

由上述结果可以看出,通过imagecopymerge函数添加了一个透明度为50的水印。

拓展知识imagecopy函数

不止使用imagecopymerge函数一种方法添加水印,也能够通过 imagecopy() 函数,它能够复制函数的一部分,它的语法格式如下:

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

它的含义是,在来源图片的(x,y)的地方选取宽为w,高为h的矩形区域到目标图片的(x,y)上。

使用 PHP 中的 imagesx()、imagesy() 两个函数来分别获取图片的宽度和高度。它们的语法格式如下:

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

实例如下:

 $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);?>

输出结果:

效果如下:

到此,相信大家对"PHP中怎么添加图片水印"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

图片 水印 来源 函数 目标 透明度 实例 效果 格式 结果 网站 语法 接下来 内容 地址 方法 学习 输出 实用 更深 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 浙江杭州融合网络技术有限公司 工作流通用数据库设计 金蝶财务用的数据库类型 一个数据库可以有几个外模 数据库二表合并关键字 政府网络安全风险信息报告制度 统计局软件开发岗是做什么的 数据库创建表实验报告 网络安全综合性 陕西网络安全信息化 软件开发工作量日志 关系型数据库技术有哪些 电子商务用什么计算机网络技术 数据库保护包含数据的 嵌入式软件开发常用插件 成都工控软件开发公司 全视通服务器 蔡甸计算机软件开发设施 惠州自主可控软件开发定做价格 用友服务器打开错误怎么办 边缘服务器创建证书 银行网络安全监管 兴盛唐厦门网络技术公司 统计局软件开发岗是做什么的 cbm数据库的类名在哪找 2021网络安全知识竞赛试题 软件服务器挂了怎么恢复 网络安全手抄小报a3纸 网络安全手抄报内容 蔡甸计算机软件开发设施
0