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 相关文章推荐
模仿OSO的论坛(三)
Oct 09 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 PHP
php实现utf-8转unicode函数分享
Jan 06 PHP
服务器上配置PHP运行环境教程
Feb 12 PHP
PHP多线程之内部多线程实例分析
Mar 09 PHP
php post大量数据时发现数据丢失问题解决方法
Jun 20 PHP
浅谈PHP中的数据传输CURL
Sep 06 PHP
php使用include 和require引入文件的区别
Feb 16 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
PHP实现随机发放扑克牌
Apr 21 PHP
PHP执行linux命令6个函数代码实例
Nov 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
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
2016/04/21 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
php parse_str() 函数的定义和用法
2016/05/23 PHP
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
JS针对Array的各种操作汇总
2016/11/29 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
2017/06/25 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
2019/11/01 jQuery
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
Python单例模式实例分析
2015/01/14 Python
利用python画出折线图
2018/07/26 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
python 比较2张图片的相似度的方法示例
2019/12/18 Python
python如何支持并发方法详解
2020/07/25 Python
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
几道PHP的面试题
2012/05/19 面试题
自我查摆剖析材料
2014/10/11 职场文书
辞职信格式模板
2015/02/27 职场文书
小学班主任研修日志
2015/11/13 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python