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读取数据库信息的几种方法
May 24 PHP
IP攻击升级,程序改进以对付新的攻击
Nov 23 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
php连接函数implode与分割explode的深入解析
Jun 26 PHP
PHP is_subclass_of函数的一个BUG和解决方法
Jun 01 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
PHP的Yii框架中过滤器相关的使用总结
Mar 29 PHP
基于Laravel实现的用户动态模块开发
Sep 21 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
Apr 06 PHP
PHP执行普通shell命令流程解析
Aug 24 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
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
基于Bootstrap分页的实例讲解(必看篇)
2017/07/04 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
Python中for循环详解
2014/01/17 Python
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
Python 使用office365邮箱的示例
2020/10/29 Python
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
安踏官方商城:anta.cn
2019/12/16 全球购物
上海天奕面试题笔试题
2015/04/19 面试题
分公司经理岗位职责
2013/11/11 职场文书
会计工作心得体会
2014/01/13 职场文书
学校火灾防控方案
2014/06/09 职场文书
阅兵口号
2014/06/19 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
Python的这些库,你知道多少?
2021/06/09 Python
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers