浅析PHP水印技术

yipeiwu_com6年前PHP代码库
一直以来对PHP对象处理不是很熟悉,以前都是在用的时候才找手册的。今天有人在phpchina论坛上问到水印的相关问题,恰好我也想学习下,于是研究了下PHP实现图片水印的实现。

  查找手册,发现PHP的GD库真的功能很强大很容易实现水印功能。水印其实就是在合并两个图片。对于水印文字同样可以实现。

  我提供简单的学习实例,很简单,主要为了了解原理。

  两张图片:1、photo.jpg被加水印的图片
            点击在新窗口中浏览此图片
            2、source.gif水印图片
            点击在新窗口中浏览此图片

   下面代码主要实现水印功能。
 

header("Content-type: image/jpeg");
$filename='../src/images/photo.jpg';
$im=imagecreatefromjpeg($filename);
$s=imagecreatefromgif('../src/images/source.gif');
imagecopymerge($im,$s,0,0,0,0,132,27,60);
imagejpeg($im);
   

   水印结果如下:
点击在新窗口中浏览此图片

   呵呵,详细的功能你可以自己去实现啦。

相关文章

详解json在php中的应用

从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。 一、json_encode() 该函数主要用来将数组和对象,转换...

php5.5新数组函数array_column使用

PHP5.5发布了,其中增加了一个新的数组函数array_column,感觉不错的!但是低版本PHP要使用,得自己实现:参考地址:https://wiki.php.net/rfc/arr...

thinkphp5使用bootstrapvalidator进行异步验证邮箱的示例

本文介绍了thinkphp5使用bootstrapvalidator进行异步验证邮箱的示例,分享给大家,具体如下: js验证 /** * Created by HONGXIN o...

PHP框架自动加载类文件原理详解

描述:公司项目PHP用作中间转发层(接收http请求,用 socket跟c++做通信),由于代码没有用到框架,这些东西自然就是之前的人自己写的。最近需要对这个底层进行优化,于是便看了下这...

PHP利用func_get_args和func_num_args函数实现函数重载实例

本文实例讲述了PHP利用func_get_args和func_num_args函数实现函数重载的方法。分享给大家供大家参考。具体方法分析如下: 学习php的朋友都知道php本身是没有函数...