广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP给图片加上图片水印和文字水印的方法
  • 698
分享到

PHP给图片加上图片水印和文字水印的方法

2023-06-04 05:06:37 698人浏览 八月长安
摘要

这篇文章主要介绍“PHP给图片加上图片水印和文字水印的方法”,在日常操作中,相信很多人在php给图片加上图片水印和文字水印的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP给图片加上图片水印和文字水印

这篇文章主要介绍“PHP给图片加上图片水印和文字水印的方法”,在日常操作中,相信很多人在php给图片加上图片水印和文字水印的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP给图片加上图片水印和文字水印的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

PHP给图片加上图片水印和文字水印的方法

核心代码:

function imageWaterMark($groundImage, $waterPos = 0, $waterImage = "", $waterText = "", $textFont = 5, $textColor = "#FF0000") {      $isWaterImage = FALSE;      $fORMatMsg = "暂不支持该文件格式,请用图片处理软件将图片转换为GIF、JPG、PNG格式。";      //读取水印文件      if (!empty($waterImage) && file_exists($waterImage)) {          $isWaterImage = TRUE;          $water_info = getimagesize($waterImage);          $water_w = $water_info[0]; //取得水印图片的宽          $water_h = $water_info[1]; //取得水印图片的高           switch ($water_info[2]) {//取得水印图片的格式             case 1:$water_im = imagecreatefromgif($waterImage);                 break;              case 2:$water_im = imagecreatefromjpeg($waterImage);                 break;              case 3:$water_im = imagecreatefrompng($waterImage);                 break;              default:die($formatMsg);         }     }      //读取背景图片      if (!empty($groundImage) && file_exists($groundImage)) {          $ground_info = getimagesize($groundImage);          $ground_w = $ground_info[0]; //取得背景图片的宽          $ground_h = $ground_info[1]; //取得背景图片的高          switch ($ground_info[2]) {//取得背景图片的格式             case 1:$ground_im = imagecreatefromgif($groundImage);                 break;              case 2:$ground_im = imagecreatefromjpeg($groundImage);                 break;              case 3:$ground_im = imagecreatefrompng($groundImage);                 break;              default:die($formatMsg);         }     } else {          die("需要加水印的图片不存在!");     }      //水印位置      if ($isWaterImage) {//图片水印         $w = $water_w;          $h = $water_h;          $label = "图片的";     } else {//文字水印         $temp = imagettfbbox(ceil($textFont * 5), 0, "./cour.ttf", $waterText); //取得使用 TrueType 字体的文本的范围          $w = $temp[2] - $temp[6];          $h = $temp[3] - $temp[7];          unset($temp);          $label = "文字区域";     }      if (($ground_w < $w) || ($ground_h < $h)) {          echo "需要加水印的图片的长度或宽度比水印" . $label . "还小,无法生成水印!";          return;     }      switch ($waterPos) {          case 0://随机              $posX = rand(0, ($ground_w - $w));              $posY = rand(0, ($ground_h - $h));              break;          case 1://1为顶端居左              $posX = 0;              $posY = 0;              break;          case 2://2为顶端居中              $posX = ($ground_w - $w) / 2;              $posY = 0;              break;          case 3://3为顶端居右              $posX = $ground_w - $w;              $posY = 0;              break;          case 4://4为中部居左              $posX = 0;              $posY = ($ground_h - $h) / 2;              break;          case 5://5为中部居中              $posX = ($ground_w - $w) / 2;              $posY = ($ground_h - $h) / 2;              break;          case 6://6为中部居右              $posX = $ground_w - $w;              $posY = ($ground_h - $h) / 2;              break;          case 7://7为底端居左              $posX = 0;              $posY = $ground_h - $h;              break;          case 8://8为底端居中              $posX = ($ground_w - $w) / 2;              $posY = $ground_h - $h;              break;          case 9://9为底端居右              $posX = $ground_w - $w - 10;   // -10 是距离右侧10px 可以自己调节              $posY = $ground_h - $h - 10;   // -10 是距离底部10px 可以自己调节              break;          default://随机              $posX = rand(0, ($ground_w - $w));              $posY = rand(0, ($ground_h - $h));              break;     }      //设定图像的混色模式      imagealphablending($ground_im, true);      if ($isWaterImage) {//图片水印         imagecopy($ground_im, $water_im, $posX, $posY, 0, 0, $water_w, $water_h); //拷贝水印到目标文件      } else {//文字水印         if (!emptyempty($textColor) && (strlen($textColor) == 7)) {              $R = hexdec(substr($textColor, 1, 2));              $G = hexdec(substr($textColor, 3, 2));              $B = hexdec(substr($textColor, 5));         } else {              die("水印文字颜色格式不正确!");         }          imagestring($ground_im, $textFont, $posX, $posY, $waterText, imagecolorallocate($ground_im, $R, $G, $B));     }      //生成水印后的图片      @unlink($groundImage);      switch ($ground_info[2]) {//取得背景图片的格式         case 1:imagegif($ground_im, $groundImage);             break;          case 2:imagejpeg($ground_im, $groundImage);             break;          case 3:imagepng($ground_im, $groundImage);             break;          default:die($errorMsg);     }      //释放内存      if (isset($water_info))         unset($water_info);      if (isset($water_im))         imagedestroy($water_im);      unset($ground_info);      imagedestroy($ground_im); }

文字水印:

waterText('banner.jpg', 9, '','sucaihuo.com'); //背景图片,$waterPos水印位置,水印图片地址

图片水印:

imageWaterMark('404.jpg', 9, 'loGo.gif'); //背景图片,$waterPos水印位置,水印图片地址

注意:$waterImage 和 $waterText 最好不要同时使用,选其中之一即可,优先使用 $waterImage。

到此,关于“PHP给图片加上图片水印和文字水印的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: PHP给图片加上图片水印和文字水印的方法

本文链接: https://www.lsjlt.com/news/236670.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP给图片加上图片水印和文字水印的方法
    这篇文章主要介绍“PHP给图片加上图片水印和文字水印的方法”,在日常操作中,相信很多人在PHP给图片加上图片水印和文字水印的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP给图片加上图片水印和文字水印...
    99+
    2023-06-04
  • php-上传图片加水印(文字水印图片水印)
    img.php ...
    99+
    2023-09-16
    php
  • php裁剪图片,并给图片加上水印
    本次以裁剪四个图片为例,图片如下 代码如下 public function cutImg($imgUrl){ try{ // 读取原始图片 ...
    99+
    2023-09-04
    php android 开发语言
  • Python实现给图片添加文字或图片水印
    目录前言PIL的Image模块的基本介绍Python代码实现文字水印Python代码实现图片水印前言 图片加水印有什么好处?在现今的数字化时代,网络上的图片泛滥,盗图现象也越来越严重...
    99+
    2023-05-19
    Python图片添加文字水印 Python图片添加图片水印 Python图片添加水印 Python添加水印
  • Android给图片添加水印的方法
    这篇文章主要介绍Android给图片添加水印的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 前言PS:最近在项目执行过程中有这样一个需求,要求拍完照的图片必须达到以上的效果。需求分析:使用用预览布局Surf...
    99+
    2023-06-15
  • Android给图片添加水印
    目录1. 前言2. 方法1 使用SurfaceView3. 方法2 给拍照下来的图片添加水印第一步:获取拍照权限第二步:拍照调用相机进行拍照接收拍照结果注意:第三步:给拍照后得到的图...
    99+
    2022-11-12
  • Java实现添加文字水印&图片水印的方法详解
    目录为什么要给图片添加水印绘制文字水印动态计算字符串的宽度自适应文字水印位置绘制图片水印提升图片处理速度为什么要给图片添加水印 为图片添加水印的主要作用是保护图片版权,防止图片被未经...
    99+
    2023-02-06
    Java添加文字水印 Java添加图片水印 Java添加水印
  • PHP中怎么给图片加水印
    本篇文章为大家展示了PHP中怎么给图片加水印,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP给图片加水印的具体代码如下:<php     ...
    99+
    2023-06-17
  • PHP怎么实现给图片添加文字水印
    本篇内容主要讲解“PHP怎么实现给图片添加文字水印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么实现给图片添加文字水印”吧!PHP给图片添加文字水印实例,支持中文文字水印,是否覆盖原图...
    99+
    2023-06-04
  • Node.js批量给图片加水印的方法
    一、准备工作: 首先,你要阅读完这篇文章:http://www.lsjlt.com/article/97391.htm。 然后,我们安装node.js的一个模块:imageinfo。 npm install...
    99+
    2022-06-04
    水印 批量 方法
  • 使用Node.js给图片加水印的方法
    一、准备工作: 首先,确保你本地已经安装好了node环境。 然后,我们进行图像编辑操作需要用到一个Node.js的库:images。 这个库的地址是:https://github.com/zhangyuan...
    99+
    2022-06-04
    水印 方法 图片
  • java怎么实现添加图片水印和文字水印
    这篇文章主要介绍java怎么实现添加图片水印和文字水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们经常会在一些图片或者图片上看到某某公司或品牌的水印,那么我们可不可以自己在喜欢的图片或文件上添加水印呢?答案当然...
    99+
    2023-06-09
  • Java实现添加文字水印和图片水印功能
    目录添加水印Java 2D API介绍1.创建一个绘制图形的对象2.绘制基本图形3.绘制文本4.绘制图像5.设置绘制属性绘制文字水印绘制图片水印循环添加文字水印添加水印 为图片添加水...
    99+
    2023-05-18
    Java 文字水印 Java 图片水印
  • Python实现给图片加文字或logo水印
    目录前言环境依赖代码验证一下执行结果前言 本文提供给图片添加文字或者logo图片水印的python工具,打造专属图片。 环境依赖 ffmpeg环境安装,ffmpy安装: pip ...
    99+
    2022-11-12
  • dedecmsV5.5图片水印及图集手工上传无法加水印
    今天在添加新站图片的时候发现从本地上传的图片没有添加水印,在后台已经打开图片添加水印了,后来发现,根本就不是设置的问题,最终找到解决方法。 方法如下: 打开文件“dede\swfupload.php&rdqu...
    99+
    2022-06-12
    图片 水印 图集
  • wps怎么加水印文字在图片上
    本文小编为大家详细介绍“wps怎么加水印文字在图片上”,内容详细,步骤清晰,细节处理妥当,希望这篇“wps怎么加水印文字在图片上”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先点击顶部“插入” 接着点击“图片”...
    99+
    2023-07-02
  • Android应用中给图片加水印
    今天就跟大家聊聊有关Android应用中给图片加水印,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体方法如下:public class ImageUtil { public ...
    99+
    2023-05-31
    android roi
  • phpcms添加图片文字水印效果
    关键字描述:效果 文字 图片 添加 里面 使用 在后 这个 配置 http://download 文字图片水印效果只能在编辑器里面使用,使用水印效果,服务器端必须支持GD 库,这个在后台的基本配置里面是自定检测的。ht...
    99+
    2022-06-12
    效果 文字 图片 添加 使用 里面 这个 在后 配置 支持
  • Android中怎么给图片添加水印
    本篇文章为大家展示了Android中怎么给图片添加水印,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android 图片添加水印的实现方法手机端打水印(文字和图片)使用的是Bitmap、Matrix...
    99+
    2023-05-30
    android
  • 如何使用python给图片加水印
    这篇文章主要介绍如何使用python给图片加水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!方式一:叠加文字水印最简单的一种方式是,在图片上绘制半透明文本来实现水印效果。主要用到Figure.text函数参数类型说...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作