浅析PHP水印技术_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);
   

   水印结果如下:

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

时间: 2024-11-10 13:32:38

浅析PHP水印技术_php技巧的相关文章

浅析PHP绘图技术_php技巧

1.图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,png .....区别:•gif 图片压缩率高,但是只能显示256色,可能造成颜色的丢失,可以显示动画•jpg/jpeg 图片压缩率高(有损压缩),可以用较小的文件来显示,网页上用得比较多•png 该格式综合了gif和jpg的优势,缺点是不能显示动画 2.通过PHP编程来绘图 复制代码 代码如下: <?php    //绘图技术 基本步骤 前提:在php.ini文件中启用gd库    //创建画布 默认背景是黑色的    $im

浅析PHP Socket技术_php技巧

phpsocketSocket位于TCP/IP协议的传输控制协议,提供客户-服务器模式的异步通信,即客户向服务器发出服务请求,服务器接收到请求后,提供相应的反馈或服务!我练习了一个最基本的例子: 使用并发起一个阻塞式(block)连接,即服务器如果不返回数据流,则一直保持连接状态,一旦有数据流传入,取得内容后就立即断开连接.代码如下: 复制代码 代码如下: <?php$host = www.sohu.com; //这个地址随便,用新浪的也行,主要是测试用,哪个无所谓$page = "/in

PHP经典的给图片加水印程序_php技巧

<?php   /**************************************************************  参数说明:   $max_file_size  : 上传文件大小限制, 单位BYTE   $destination_folder : 上传文件路径   $watermark   : 是否附加水印(1为加水印,其他为不加水印);   使用说明:   1. 将PHP.INI文件里面的"extension=php_gd2.dll"一行前面的;

PHP图片处理之使用imagecopy函数添加图片水印实例_php技巧

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

PHP上传图片进行等比缩放可增加水印功能_php技巧

啥也不说,直接上代码,大家可以自行添加增加水印功能: 复制代码 代码如下: <?php /** * * @author zhao jinhan * @date 2014年1月13日11:54:30 * @email xb_zjh@126.com * */ header('Content-type:text/html; charset=utf-8'); //定义缩略图的宽高 define('THUMB_WIDTH',300); define('THUMB_HEIGHT',300); /** * 重

基于OpenCV的PHP图像人脸识别技术_php技巧

openCV是一个开源的用C/C++开发的计算机图形图像库,非常强大,研究资料很齐全.本文重点是介绍如何使用php来调用其中的局部的功能.人脸侦查技术只是openCV一个应用分支. 1.安装 从源代码编译成一个动态的so文件. 1.1.安装 OpenCV (OpenCV 1.0.0) 下载地址:http://sourceforge.net/project/showfiles.php?group_id=22870&package_id=16948 #tar xvzf OpenCV-1.0.0.ta

PHP中使用虚代理实现延迟加载技术_php技巧

话说这货是从 Martin 大神的<企业应用架构模式>中学到的,辅助 PHP 动态语言的特性,可以比 Java 轻松很多的实现延迟加载--通过一个虚代理占位符.唯一的缺陷,是只能代理对象,不能代理内置基本类型. 我试水的 PHP 领域模型设计中,也是用这个来实现 DomainObject 的延迟加载. 复制代码 代码如下:  * 虚代理,只有在被访问成员时才调用闭包函数生成目标对象.  *  * @author tonyseek  *  */ class VirtualProxy {    

PHP数据缓存技术_php技巧

数据缓存是web开发中常用的一种性能优化方法.目前主要文件缓存或者数据库缓存两种形式,数据库缓存数据库不是什么不可能的事情,的确也是很好很重要的.我认为传统数据库主要是从业务层.模块设计等方面来考虑的,而缓存数据库主要是从实现层来设计的,主要是为了缓存常用的多表查询之类的.这里主要将的是文件缓存,网上很多资料了,这里我转载了一些原理资料.   Cache是"以空间换时间"策略的典型应用模式,是提高系统性能的一种重要方法.缓存的使用在大访问量的情况下能够极大的减少对数据库操作的次数,明显

浅析php静态方法与非静态方法的用法区别_php技巧

在php编程中,static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为"类属性"或"类方法" 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号"::"调用. static关键字可以用来修饰变量.方法. 不经过实例化,就可以直接访问类中static的属性和static的方法. static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法.因为静态属性