一、图片水印

<?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

PHP 水印设置的更多相关文章

  1. 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])

    常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...

  2. 介绍 Visifire 常用属性的设置

    转载自http://www.cnblogs.com/xinyus/p/3422198.html 主要介绍 Visifire 常用属性的设置,用来生成不同样式的图例 设置Chart的属 //设置titl ...

  3. JAVA实用案例之水印开发

    写在最前面 上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考. Demo是在我上次写的 JAVA实用案例之文件导入导出(POI方式) 框架基础上 ...

  4. JAVA实用案例之图片水印开发

    写在最前面 上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考. Demo是在我上次写的 JAVA实用案例之文件导入导出(POI方式) 框架基础上 ...

  5. 织梦dedecms dede plus文件作用介绍及安全设置

    一.安装设置 1.默认的后台模块中心有很多模块. 这里除了"友情链接"模块其他都可以删掉.在后台可以先卸载再删除. 2.如果是一开始就不想要的话,安装版plus目录下进行如下操作. ...

  6. [原创]超强C#图片上传,加水印,自动生成缩略图源代码

    <%@ Page Language=“C#“ AutoEventWireup=“true“ %> <%@ Import Namespace=“System“ %> <%@ ...

  7. PDF文件添加二维码水印教程

    maven配置iText的jar,主要不是所有私服都有iText的jar,maven仓库没有的,可以去https://mvnrepository.com/artifact/com.itextpdf/i ...

  8. 使用Html5对图片加水印及多图合成

                                                                             转载请注明原地址:                   ...

  9. 如何在PDF文档上加水印

    当我们需要传输一些比较重要的文件时,往往会选择将文档转换为PDF文件,避免其他人复制.更改文档的内容. pdfFactory不仅可以为用户提供快速创建PDF的功能,同时还提供了添加水印的功能.有了水印 ...

随机推荐

  1. [vijos1459]车展

    [vijos1459]车展 试题描述 遥控车是在是太漂亮了,韵韵的好朋友都想来参观,所以游乐园决定举办m次车展.车库里共有n辆车,从左到右依次编号为1,2,-,n,每辆车都有一个展台.刚开始每个展台都 ...

  2. PHPExcel yii2 加载使用

    除了用composer 包管理组件的方式外 我们还可以使用 直接最原始的加载方式---超级简单 1.PHPExcel上下载最新的PHPExcel http://phpexcel.codeplex.co ...

  3. centos6.5 lamp 环境 使用yum安装方法

    从网上找了一些 最后整理了下 1.安装Apache yum -y install httpd # 开机自启动 chkconfig httpd on # 启动httpd 服务 service httpd ...

  4. ubuntu 安装vsftpd服务器 ftp

    http://www.cnblogs.com/likwo/p/3154868.html http://help.aliyun.com/knowledge_detail.htm?knowledgeId= ...

  5. C/C++ 中判断某一文件或目录是否存在

    方法一:C++中比较简单的一种办法(使用文件流打开文件) #include <iostream> #include <fstream> using namespace std; ...

  6. s:select下拉框validation验证

    S:select下拉框验证: <td colspan="5"> <s:select name="vo.typeVO.corp" list=&q ...

  7. 转:Autodesk 2017软件下载+注册机+破解方法(持续更新)

    转载自http://blog.sina.com.cn/s/blog_710225790102w03e.html Autodesk 2017安装步骤: 安装Autodesk 2017相关软件 使用序列号 ...

  8. AngularJS 表单

    AngularJS 表单是输入控件的集合. HTML控件 以下 HTML input 元素被称为 HTML 控件: input 元素 select 元素 button 元素 textarea 元素 H ...

  9. SpringBoot实战配置

    http://blog.csdn.net/sun_t89/article/details/51944252 http://www.cnblogs.com/kreo/p/4423362.html

  10. Linux 安装基于(PHP5.5)memcache扩展

    一. memcache服务器端 下载地址:http://memcached.org/ 安装memcached,同时需要安装中指定libevent的安装位置 tar zxvf memcached-1.2 ...