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来检测proxy
Oct 09 PHP
PHP 采集程序中常用的函数
Dec 09 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
php数组去重实例及分析
Nov 26 PHP
php字符串函数学习之strstr()
Mar 27 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
php语言的7种基本的排序方法
Dec 28 PHP
PHP书写格式详解(必看)
May 23 PHP
php二维码生成以及下载实现
Sep 28 PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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的access操作类
2008/04/09 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
php微信开发之关注事件
2018/06/14 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
2019/03/01 PHP
一段非常简单的让图片自动切换js代码
2006/11/10 Javascript
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
详解angularJs指令的3种绑定策略
2017/04/13 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
2020/02/06 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
vue实现公共方法抽离
2020/07/31 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python判断windows系统是32位还是64位的方法
2015/05/11 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
django 自定义过滤器的实现
2019/02/26 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
学校端午节活动方案
2014/08/23 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
保证书格式
2015/01/16 职场文书
商务代表岗位职责
2015/02/15 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
学校就业保障协议书
2019/06/24 职场文书