zoukankan      html  css  js  c++  java
  • PHP 水印设置

    一、图片水印

    <?php
    
    /* 覆盖水印 */
    $image = ImageCreateFromJPEG('memcached.jpg');
    $stamp = ImageCreateFromPNG('php.png');
    
    $margin = ['right'=>10, 'bottom'=>10]; // 距离边界的偏移量
    $opacity = 50; // 不透明值
    
    // @param 目标(图像)
    // @param 源(水印)
    // @param 水印 x 坐标:目标图像的宽度 - 水印的宽度 - 偏移量
    // @param 水印 y 坐标:目标图像的高度 - 水印的高度 - 偏移量
    // @param 后 4 个参数作为水印的大小
    // @param 不透明度
    ImageCopyMerge($image, $stamp, imagesx($image) - imagesx($stamp) - $margin['right'],
    	imagesy($image) - imagesy($stamp) - $margin['bottom'],
    	0, 0, imagesx($stamp), imagesy($stamp), $opacity
    	);
    
    
    header('Content-type: image/png');
    ImageJpeg($image);
    ImageDestroy($image);
    ImageDestroy($stamp);
    

    说明:

    ImageCopyMerge() 函数允许将一个图像放置在另一个图像上面,它的最后一个参数用来设置不透明度(0 - 100 之间,越小水印越淡)

    第 5、6、7、8 个参数表示水印的大小(0,0,ImageSX($stamp),ImageSY($stamp) 会复制整个水印图像)

    为了避免在脚本中硬编码写入图像的大小,可以用 ImageSX() 和 ImageSY() 函数动态地计算图像大小

    二、文字水印

    <?php
    
    /* 覆盖水印 */
    $image = ImageCreateFromJPEG('memcached.jpg');
    $stamp = ImageCreateFromPNG('php.png');
    
    $margin = ['right'=>10, 'bottom'=>10]; // 距离边界的偏移量
    $opacity = 50; // 不透明值
    
    // 文字水印
    $w = 200;
    $h = 100;
    $stamp = ImageCreateTrueColor($w, $h);
    ImageFilledRectangle($stamp, 0, 0, $w - 1, $h - 1, 0xFFFFFF);
    
    // 文本
    $color = 0x000000;
    ImageString($stamp, 4, 10, 10, 'I LOVE PHP', $color);
    ImageString($stamp, 4, 10, 28, 'I LOVE DEVELOPING', $color);
    ImageString($stamp, 4, 10, 46, 'I LOVE LIFE', $color);
    
    // @param 目标(图像)
    // @param 源(水印)
    // @param 水印 x 坐标:目标图像的宽度 - 水印的宽度 - 偏移量
    // @param 水印 y 坐标:目标图像的高度 - 水印的高度 - 偏移量
    // @param 后 4 个参数作为水印的大小
    // @param 不透明度
    ImageCopyMerge($image, $stamp, imagesx($image) - imagesx($stamp) - $margin['right'],
    	imagesy($image) - imagesy($stamp) - $margin['bottom'],
    	0, 0, imagesx($stamp), imagesy($stamp), $opacity
    	);
    
    header('Content-type: image/png');
    ImageJpeg($image);
    ImageDestroy($image);
    ImageDestroy($stamp);
    

      

    参考:

    <PHP Cookbook>3'rd

  • 相关阅读:
    诗人就是“情场浪子”的代名词?
    微博营销,开启营销的新时代
    网店成功之道:卖家应有4种心态(实战交流)
    一枚钉子前进
    推动中国文学的发展,我义不容辞
    微博营销,再次引爆网络江湖
    微博营销,不仅仅是粉丝
    邮件群发软件版本升级公告
    如何让自己在浩瀚的网海中脱颖而出
    如何定时关机【windows/linux】
  • 原文地址:https://www.cnblogs.com/dee0912/p/5463803.html
Copyright © 2011-2022 走看看