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作为Shell脚本语言使用
Oct 09 PHP
PHP访问MYSQL数据库封装类(附函数说明)
Dec 04 PHP
php 深入理解strtotime函数的使用详解
May 23 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
php连接oracle数据库及查询数据的方法
Dec 29 PHP
网站防止被刷票的一些思路与方法
Jan 08 PHP
php实现Session存储到Redis
Nov 11 PHP
Zend Framework框架路由机制代码分析
Mar 22 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
Sep 22 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
laravel 操作数据库常用函数的返回值方法
Oct 11 PHP
利用PHP计算有多少小于当前数字的数字方法示例
Aug 26 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
yii实现级联下拉菜单的方法
2014/07/31 PHP
分享3个php获取日历的函数
2015/09/25 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2017/08/01 PHP
用jscript实现列出安装的软件列表
2007/06/18 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
2013/10/09 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
2016/03/31 Javascript
仿百度换肤功能的简单实例代码
2016/07/11 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
python的sorted用法详解
2019/06/25 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
如何利用Python识别图片中的文字
2020/05/31 Python
python在协程中增加任务实例操作
2021/02/28 Python
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
关于毕业的中学校园广播稿
2014/01/26 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
Nginx配置https原理及实现过程详解
2021/03/31 Servers
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android