php 图片添加水印

    图片添加水印

实现图片添加水印主要有五大步骤:

(1)创建一张源图像

(2)创建一张png格式的水印图像

(3)水印的覆盖

(4)输出图像

(5)销毁资源

1、首先我们要先使用phpinfo()函数检查是否开启GD库模块,我这里是已经开启了,。如果没有GD库,可以去PHP.INI文件把这个extension=php_gd2.dll选项的分号去掉。


2、检查完GD库 ,那么我们来完成第一步创建源图像。首先设置图片的所在路径把它放入变量$filename中,接着使用函数imagecreatefromjpeg()创建一张jpg格式的图像。因为imagecreatefromjpeg里面的参数是图片的路径,所以我们可以把预先设置好的路径放进去。最后将图像放入变量$bgpic中。

<?php

//添加水印图片

$filename = ‘./img/huahua.jpg’;

$bgpic =imagecreatefromjpeg($filename);


3、为了能够看到效果,我们可以先将第四步完成,就是将图像输出。header('Content-type:image/jpeg')规定图像的类型是jpeg,imagejpeg($bgpic)将图像输出到浏览器。

<?php

       $filename = './img/huahua.jpg';

       $bgpic =imagecreatefromjpeg($filename);         

   header('Content-Type:image/jpeg');

       imagejpeg($bgpic);


4、现在我们来完成第二步的制作,创建一张png格式的水印图像,它的原理跟创建源图像是一样的,只不过是使用的函数不一样,这里使用的是imagecreatefrompng()。

<?php

       $filename = './img/huahua.jpg';

       $bgpic = imagecreatefromjpeg($filename);

   $water =imagecreatefrompng('./img/logo.png');


5、同样为了看到效果,我们可以先将第四步完成,就是将图像输出。header('Content-type:image/png')规定图像的类型是png,imagepng($water)将图像输出到浏览器。

<?php

       $filename = './img/huahua.jpg';

       $bgpic = imagecreatefromjpeg($filename);

   $water =imagecreatefrompng('./img/logo.png');

  header('Content-Type:image/png');

       imagejpeg($water);


6、第二步制作完成后,接下来我们进行第三步操作,水印覆盖。使用imagecopy()函数,它里面的参数分别是:源图像$bgpic,水印图像$water,源图像的x轴和y轴坐标,水印图像的x轴和y轴的坐标 ,水印图片的宽和高。

<?php

       $filename = './img/huahua.jpg';

       $bgpic = imagecreatefromjpeg($filename);

       $water =imagecreatefrompng('./img/logo.png');

   // 水印的覆盖

imagecopy($bgpic,$water,400,200,0,0,imagesx($water),imagesy($water));


7、到了这一步,图片添加水印已经基本完成了,为了查看效果,我们进行第四步操作,输出图像。

<?php

 

       $filename = './img/huahua.jpg';

       $bgpic = imagecreatefromjpeg($filename);

   $water =imagecreatefrompng('./img/logo.png');

  // 水印的覆盖

imagecopy($bgpic,$water,400,200,0,0,imagesx($water),imagesy($water));

header('Content-Type:image/jpeg');

imagejpeg($bgpic);


8、我们进行最后一步操作,就是使用imagedestroy()函数进行销毁资源,那样图片添加水印的制作就已经完成了。

<?php

       $filename = './img/huahua.jpg';

       $bgpic = imagecreatefromjpeg($filename);

   $water =imagecreatefrompng('./img/logo.png');

   // 水印的覆盖

       imagecopy($bgpic,$water,400,200,0,0,imagesx($water),imagesy($water));

 header('Content-Type:image/jpeg');

 imagejpeg($bgpic);

 imagedestroy($bgpic);

 imagedestroy($water);

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值