广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    PHP使用imagecopy函数添加图片水印

    2018-06-01 14:46:24 次阅读 稿源:互联网
    零七广告

    为图片添加水印也是图片处理中常见的功能。因为只要在页面中见到的图片都可以很轻松地拿到,你辛辛苦苦编辑的图片不想被别人不费吹灰之力拿走就用,所以为图片添加水印以确定版权,防止图片被盗用。制作水印可以使用文字(公司名称加网址),也可以使用图片(公司LOGO),图片水印效果更好一些,因为可以通过一些做图片软件进行美化。使用文字做水印,只需要在图片上画一些文字即可。如果制作图片水印,就需要先了解一下GD库中的imagecopy()函数,能复制图片的一部分。该函数的原型如下所示:


    bool imagecopy(resource dst_im,resource src_im,int dst_x,int dst_y,int src_x,int src_y,int src_w,int src_h)

    该函数的作用是将src_im图像中坐标从src_x,src_y开始,宽度为src_w,高度为src_h的一部分复制到dst_im图像中坐标为dst_x和dst_y的位置上。以JPEG格式的图片为例,编写一个为图片添加水印的函数watermark(),代码如下所示:


    <?php
    //为背景图片添加图片水印(位置随机),背景图片格式为jpeg,水印图片格式为gif
    function watermark($filename,$water){
    //获取背景图片的宽度和高度
    list($b_w,$b_h) = getimagesize($filename);
    //获取水印图片的宽度和高度
    list($w_w,$w_h) = getimagesize($water);
    //在背景图片中放水印图片的位置随机起始位置
    $posX = rand(0, ($b_w-$w_w));
    $posY = rand(0, ($b_h-$w_h));
    //创建背景图片的资源
    $back = imagecreatefromjpeg($filename);
    //创建水印图片的资源
    $water = imagecreatefromgif($water);
    //使用imagecopy()函数将水印图片复制到背景图片指定的位置中
    imagecopy($back, $water, $posX, $posY, 0, 0, $w_w, $w_h);
    //保存带有水印图片的背景图片
    imagejpeg($back,$filename);
    imagedestroy($back);
    imagedestroy($water);
    }
    watermark("brophp.jpg", "logo.gif");
    ?>

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告