使用PHP制作图片水印
2017-06-05 22:49
330 查看
/**
* 图片水印
* @param string $desImg 想要打水印的大图
* @param string $waterImg 作为水印的小图
* @param string $dir 打完水印的图片保存的目录
* @param int $x 水印在大图中x坐标位置
* @param int $y 水印在大图中y坐标位置
* @param int $alpha 水印透明度 0-100 值越小透明度越高
*/
function waterMarkImg($desImg,$waterImg,$dir='./mypics',$x=10,$y=30,$alpha=30){
//第一步,生成图像资源,由需要打水印的图片来生成图像资源
//生成源图像资源
//1)获取源图片信息
$imgInfo1=getimagesize($desImg);
//2)获取图片的后缀名
$ext1=image_type_to_extension($imgInfo1[2],false);
//3)生成源图像资源
$fun1="imagecreatefrom".$ext1;
$img=$fun1($desImg);
//生成水印图像资源
//1)获取源图片信息
$imgInfo2=getimagesize($waterImg);
//2)获取图片的后缀名
$ext2=image_type_to_extension($imgInfo2[2],false);
//3)生成源图像资源
$fun2="imagecreatefrom".$ext2;
$water=$fun2($waterImg);
//第二步,操作图像资源
//拷贝合并图像资源,打上图片水印
imagecopymerge($img,$water,$x,$y,0,0,imagesx($water),imagesy($water),$alpha);
//第三步,输出并保存图像
$outFun='image'.$ext1;
if(!file_exists($desImg)){
mkdir($desImg);
}
$outFun($img,$dir.'/waterImg_'.basename($desImg));
//第四步,销毁图像资源,释放内存
imagedestroy($water);
imagedestroy($img);
}
* 图片水印
* @param string $desImg 想要打水印的大图
* @param string $waterImg 作为水印的小图
* @param string $dir 打完水印的图片保存的目录
* @param int $x 水印在大图中x坐标位置
* @param int $y 水印在大图中y坐标位置
* @param int $alpha 水印透明度 0-100 值越小透明度越高
*/
function waterMarkImg($desImg,$waterImg,$dir='./mypics',$x=10,$y=30,$alpha=30){
//第一步,生成图像资源,由需要打水印的图片来生成图像资源
//生成源图像资源
//1)获取源图片信息
$imgInfo1=getimagesize($desImg);
//2)获取图片的后缀名
$ext1=image_type_to_extension($imgInfo1[2],false);
//3)生成源图像资源
$fun1="imagecreatefrom".$ext1;
$img=$fun1($desImg);
//生成水印图像资源
//1)获取源图片信息
$imgInfo2=getimagesize($waterImg);
//2)获取图片的后缀名
$ext2=image_type_to_extension($imgInfo2[2],false);
//3)生成源图像资源
$fun2="imagecreatefrom".$ext2;
$water=$fun2($waterImg);
//第二步,操作图像资源
//拷贝合并图像资源,打上图片水印
imagecopymerge($img,$water,$x,$y,0,0,imagesx($water),imagesy($water),$alpha);
//第三步,输出并保存图像
$outFun='image'.$ext1;
if(!file_exists($desImg)){
mkdir($desImg);
}
$outFun($img,$dir.'/waterImg_'.basename($desImg));
//第四步,销毁图像资源,释放内存
imagedestroy($water);
imagedestroy($img);
}
相关文章推荐
- 使用GD库合并图片。。制作水印的方式也是类似的
- PHP制作图片缩略图、加水印、加字体
- 使用PHP GD库为一张图片创建多个水印,缩放..
- 使用PHP制作文字水印
- 使用imageMagick 制作圆角矩形和图片加水印
- 使用一般处理程序(IHttpHandler)制作图片水印
- 使用一般处理程序(IHttpHandler)制作图片水印
- 如何使用PHP给图片加水印
- php实现常见图片格式的水印和缩略图制作(面向对象)
- JAVA制作水印效果,字体和图片,调节透明度,使用了JIMI的类库
- PHP图片处理之使用imagecopy函数添加图片水印实例
- C#图片验证码制作,上传图片加水印,使用Drawing绘制
- 如何使用PHP给图片加水印
- 个人技术作品 - PHP 水印类及上传图片加水印结合使用的API及使用实例
- PHP图片处理之使用imagecopy函数添加图片水印实例
- php实现常见图片格式的水印和缩略图制作(面向对象)
- PHP使用GD函数库创建水印图片+保存本地
- php 使用GD库压缩图片,添加文字图片水印
- PHP实例————制作水印图片
- 使用PHP根据图片色界在不同位置加水印