PHP图片处理之使用imagecopy函数添加图片水印实例
2014-11-19 00:00
746 查看
为图片添加水印也是图片处理中常见的功能。因为只要在页面中见到的图片都可以很轻松地拿到,你辛辛苦苦编辑的图片不想被别人不费吹灰之力拿走就用,所以为图片添加水印以确定版权,防止图片被盗用。***水印可以使用文字(公司名称加网址),也可以使用图片(公司LOGO),图片水印效果更好一些,因为可以通过一些做图片软件进行美化。使用文字做水印,只需要在图片上画一些文字即可。如果***图片水印,就需要先了解一下GD库中的imagecopy()函数,能复制图片的一部分。该函数的原型如下所示:
该函数的作用是将src_im图像中坐标从src_x,src_y开始,宽度为src_w,高度为src_h的一部分复制到dst_im图像中坐标为dst_x和dst_y的位置上。以JPEG格式的图片为例,编写一个为图片添加水印的函数watermark(),代码如下所示:
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"); ?>
相关文章推荐
- PHP图片处理之使用imagecopy函数添加图片水印实例
- PHP图片水印函数:支持以图片和文字方式添加水印
- PHP图片处理函数:水印、缩略图
- PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
- php 之 图片水印 (支持批量图片处理)(支持添加图片水印,文字水印)
- PHP图像处理函数:文字水印,图片水印,缩略图(等比缩放)
- php图片处理函数获取类型及扩展名实例
- 图片处理——使用NDK添加文字和图片水印
- PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
- php 使用GD库压缩图片,添加文字图片水印
- PHP图片水印函数:支持以图片和文字方式添加水印
- php图片处理函数获取类型及扩展名实例
- PHP 使用 Imagick 裁切/生成缩略图/添加水印, 自动检测和处理 GIF
- PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
- PHP图片处理函数 类 (水印图,缩略图)[关于等比例压缩与裁剪压缩]
- 解析php中两种缩放图片的函数,为图片添加水印
- 解析php中两种缩放图片的函数,为图片添加水印
- php给图片加水印实例函数
- PHP图片处理之使用imagecopyresampled函数裁剪图片例子
- PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF