php GD库做水印功能,合并图片
2015-02-12 17:10
381 查看
1.创建一个适应大小的底层图片
2.读取需要拼接的图片
$dst_data=file_get_contents($dst_src);
$dst_img = imagecreatefromstring($dst_data);
3.把读取的图放到指定的位置,这里需要慢慢调试,使用下面的函数
imagecopymerge
4.出拼接后的图
header("Content-Type:image/jpeg");
imagejpeg($dst_img);
可能会用到的函数
imagecreatetruecolor //生成底图
file_get_contents //获取对应的图片
imagecreatefromstring //字符串转换成图片
imagecopyresampled //拷贝图片调整大小
imagecopymerge //合成图片
header("Content-type: image/jpeg");
//原始图像
$dst = "images/flower_1.jpg";
//得到原始图片信息
$dst_im = imagecreatefromjpeg($dst);
$dst_info = getimagesize($dst);
//水印图像
$src = "images/logo.gif";
$src_im = imagecreatefromgif($src);
$src_info = getimagesize($src);
//水印透明度
$alpha = 30;
//合并水印图片
imagecopymerge($dst_im,$src_im,$dst_info[0]-$src_info[0],$dst_info[1]-$src_info[1],0,0,$src_info[0],
$src_info[1],$alpha);
//输出合并后水印图片
imagejpeg($dst_im);
imagedestroy($dst_im);
imagedestroy($src_im);
2.读取需要拼接的图片
$dst_data=file_get_contents($dst_src);
$dst_img = imagecreatefromstring($dst_data);
3.把读取的图放到指定的位置,这里需要慢慢调试,使用下面的函数
imagecopymerge
4.出拼接后的图
header("Content-Type:image/jpeg");
imagejpeg($dst_img);
可能会用到的函数
imagecreatetruecolor //生成底图
file_get_contents //获取对应的图片
imagecreatefromstring //字符串转换成图片
imagecopyresampled //拷贝图片调整大小
imagecopymerge //合成图片
header("Content-type: image/jpeg");
//原始图像
$dst = "images/flower_1.jpg";
//得到原始图片信息
$dst_im = imagecreatefromjpeg($dst);
$dst_info = getimagesize($dst);
//水印图像
$src = "images/logo.gif";
$src_im = imagecreatefromgif($src);
$src_info = getimagesize($src);
//水印透明度
$alpha = 30;
//合并水印图片
imagecopymerge($dst_im,$src_im,$dst_info[0]-$src_info[0],$dst_info[1]-$src_info[1],0,0,$src_info[0],
$src_info[1],$alpha);
//输出合并后水印图片
imagejpeg($dst_im);
imagedestroy($dst_im);
imagedestroy($src_im);
下面是个简单的水印demo
<?php function combine_image($image1,$image2,$c=0,$d=0)//$image1底层图片 $image2水印图片 $c合并X坐标 $d合并Y坐标 { $filename=time().".jpg"; if(!$image1 || !$image2) return false; $aa=getimagesize($image1); $width=$aa["0"]; $height=$aa["1"]; $kind=$aa['mime']; $aa1=getimagesize($image2); $width1=$aa1["0"]; $height1=$aa1["1"]; $kind1=$aa1['mime']; //指定缩放出来的最大的宽度(也有可能是高度) $max=1000; //根据最大值为300,算出另一个边的长度,得到缩放后的图片宽度和高度 if($width > $height){ $width=$max; $height=$height*($max/$aa['0']); }else{ $height=$max; $width=$width*($max/$aa['1']); } $im = imagecreatetruecolor($width,$height); if($kind=='image/jpeg'){ $im1 = imagecreatefromjpeg($image1); }elseif($kind=='image/png'){ $im1 = imagecreatefrompng($image1); }else{ $im1 = imagecreatefromgif($image1); } if($kind1=='image/jpeg'){ $im2 = imagecreatefromjpeg($image2); }elseif($kind1=='image/png'){ $im2 = imagecreatefrompng($image2); }else{ $im2 = imagecreatefromgif($image2); } imagecopyresampled($im, $im1, 0, 0, 0, 0,$width,$height,$aa['0'],$aa['1']); imagecopyresampled($im, $im2, $c, $d,0, 0,$width,$height,$aa1['0'],$aa1['1']); header('Content-Type: image/jpg'); //imagejpeg($im,$filename); imagejpeg($im); imagedestroy($im); imagedestroy($im1); imagedestroy($im2); return $filename; } combine_image('1.jpg','2.png');
相关文章推荐
- PHP图片处理类实现缩放、剪切、相框、水印、锐化、旋转、翻转、透明度、反色等功能
- php 生成图片水印且合并多个图片 Demo
- php gd库实现远程图片下载功能
- PHP面向对象——GD库实现图片水印和缩略图
- PHP图片添加水印功能示例小结
- php gd库实现远程图片下载功能
- PHP版的kindeditor编辑器加图片上传水印功能
- php用GD库给图片添加水印
- 功能强大的PHP图片处理类(水印、透明度、旋转)
- php GD库的简单封装,图片压缩、文字水印、图片水印等方法
- 使用GD库合并图片。。制作水印的方式也是类似的
- php文字、图片水印功能函数封装
- PHP上传图片进行等比缩放可增加水印功能
- php 使用GD库压缩图片,添加文字图片水印
- PHP添加图片水印功能
- PHP图片处理类实现缩放、剪切、相框、水印、锐化、旋转、翻转、透明度、反色等功能
- php实现图片添加水印功能
- php 图片水印(图片合并原理)
- PHP学习笔记:利用gd库给图片打图片水印
- PHP合并两张图片(水印)