php加水印的代码(支持半透明透明打水印,支持png透明背景)


Posted in PHP onJanuary 17, 2013
//原始图像 
       $dst = "/upload/20120914/20120914040740-0.jpg"; //注意图片路径要正确 
       //得到原始图片信息 
       $dst_info = getimagesize($dst);  
       switch ($dst_info[2]) 
       { 
        case 1: 
        $dst_im =imagecreatefromgif($dst);break; 
        case 2: 
        $dst_im =imagecreatefromjpeg($dst);break; 
        case 3: 
        $dst_im =imagecreatefrompng($dst);break; 
        case 6: 
        $dst_im =imagecreatefromwbmp($dst);break; 
        default: 
        die("不支持的文件类型1");exit; 
       } 
       //水印图像 
       $src = "/images/shuiyin.png"; //注意路径要写对 
       $src_info = getimagesize($src); 
       switch ($src_info[2]) 
       { 
        case 1: 
        $src_im =imagecreatefromgif($src);break; 
        case 2: 
        $src_im =imagecreatefromjpeg($src);break; 
        case 3: 
        $src_im =imagecreatefrompng($src);break; 
        case 6: 
        $src_im =imagecreatefromwbmp($src);break; 
        default: 
        die("不支持的文件类型1");exit; 
       }        //半透明格式水印 
       //$alpha = 50;//水印透明度 
       //imagecopymerge($dst_im,$src_im,$dst_info[0]-$src_info[0]-10,$dst_info[1]-$src_info[1]-10,0,0,$src_info[0],$src_info[1],$alpha); 
       //支持png本身透明度的方式 
       imagecopy($dst_im,$src_im,$dst_info[0]-$src_info[0]-10,$dst_info[1]-$src_info[1]-10,0,0,$src_info[0],$src_info[1]); 
       //保存图片 
       switch ($dst_info[2]){ 
        case 1: 
        imagegif($dst_im,$dst);break; 
        case 2: 
        imagejpeg($dst_im,$dst);break; 
        case 3: 
        imagepng($dst_im,$dst);break; 
        case 6: 
        imagewbmp($dst_im,$dst);break; 
        default: 
        die("不支持的文件类型2");exit; 
       } 
       imagedestroy($dst_im); 
       imagedestroy($src_im);  
PHP 相关文章推荐
PHP初学者头疼问题总结
Jul 08 PHP
GD输出汉字的函数的分析
Oct 09 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &
Feb 09 PHP
php中显示数组与对象的实现代码
Apr 18 PHP
php float不四舍五入截取浮点型字符串方法总结
Oct 28 PHP
php中in_array函数用法分析
Nov 15 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
Mar 23 PHP
PHP和Mysql中转UTF8编码问题汇总
Oct 10 PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 PHP
thinkPHP5.0框架URL访问方法详解
Mar 18 PHP
php curl批处理实现可控并发异步操作示例
May 09 PHP
Yii框架连表查询操作示例
Sep 06 PHP
在windows服务器开启php的gd库phpinfo中未发现
Jan 13 #PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
Jan 13 #PHP
PHP读取xml方法介绍
Jan 12 #PHP
用PHP编写和读取XML的几种方式
Jan 12 #PHP
php图片的裁剪与缩放生成符合需求的缩略图
Jan 11 #PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
Jan 11 #PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
Jan 11 #PHP
You might like
php Smarty模板生成html文档的方法
2010/04/12 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
PHP中phar包的使用教程
2017/06/14 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
JS获取多维数组中相同键的值实现方法示例
2017/01/06 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
vue、react等单页面项目应该这样子部署到服务器
2018/01/03 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
Django 如何获取前端发送的头文件详解(推荐)
2017/08/15 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
python读取文件名称生成list的方法
2018/04/27 Python
Python Web版语音合成实例详解
2019/07/16 Python
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
伦敦著名的运动鞋综合商店:Footpatrol
2019/03/25 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
买房子个人收入证明
2014/01/16 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
我的中国梦演讲稿400字
2014/08/19 职场文书
运动会演讲稿300字
2014/08/25 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
第一节英语课开场白
2015/06/01 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫