首页 > 其他 > 详细

图像添加logo水印函数

时间:2015-10-16 00:51:42      阅读:356      评论:0      收藏:0      [点我收藏+]
 1 <?php
 2 //图像添加水印函数
 3 /**
 4     *为一张图片添加上一个logo水印(以保存新图片的方式实现)
 5     *@param string $picname  被缩放的处理图片源
 6     *@param int $logo  水印图片
 7     *@param string $pre 缩放后图片的前缀名
 8     *@return $string 返回后的图片名称() 如a.jpg->n.jpg
 9     *
10 **/
11      function imageUpdateLogo($picname,$logo,$pre="n_"){
12         $picnameinfo=getimageSize($picname);//获取图片源的基本信息 
13         $logoinfo=getimageSize($logo);//获取logo图片源的基本信息
14         
15         //根据图片类型创建出对应的图片源
16         switch($picnameinfo[2]){
17             case 1://gif
18                   $im=imagecreatefromgif($picname);    
19                   break;                  
20             case 2://jpg
21                   $im=imagecreatefromjpeg($picname);
22                   break;
23             case 3://png
24                  $im=imagecreatefrompng($picname);  
25                   break;
26             default:
27                  die("图像类型错误");
28         }   //根据logo图片类型创建对应的图片源
29         switch($logoinfo[2]){
30             case 1://gif
31                   $logoim=imagecreatefromgif($logo);    
32                   break;                  
33             case 2://jpg
34                   $logoim=imagecreatefromjpeg($logo);
35                   break;
36             case 3://png
37                  $logoim=imagecreatefrompng($logo);  
38                   break;
39             default:
40                  die("图像类型错误");
41         }
42         //执行图片水印处理
43         imagecopyresampled($im,$logoim,$picnaeinfo[0]=$logoinfo[0],$picnaeinfo[1]=$logoinfo[1],0,0,$logoinfo[0],$logoinfo[1],$logoinfo[0],$logoinfo[1]);
44         //输出图像(根据源图像的类型,输出为对应的类型)
45         $picinfo=pathinfo($picname);//解析源图像的名字和路径信息
46         $newpicname=$picinfo["dirname"]."/".$pre.$picinfo["basename"];
47         switch($picnameinfo[2]){
48             case 1:
49                 imagegif($im,$newpicname);
50                 break;
51             case 2:
52                 imagejpeg($im,$newpicname);
53                 break;
54             case 3:
55                 imagepng($im,$newpicname);
56                 break;                
57         }
58         //释放图片资源
59         imagedestroy($im);
60         imagedestroy($logoim);
61         //返回结果
62         return $newpicname;
63      }
64     // 测试成功
65      echo    imageUpdateLogo("images/8.14.jpg","images/bg_00.jpg"); // 返回的结果为 images/n_8.14.jpg
66 ?>

 

图像添加logo水印函数

原文:http://www.cnblogs.com/kangshuai/p/4883974.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!