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获取网卡地址的代码
Apr 09 PHP
使用eAccelerator加密PHP程序
Oct 03 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
Jun 12 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
THINKPHP2.0到3.0有哪些改进之处
Jan 04 PHP
PHP中header用法小结
May 23 PHP
PHP模块化安装教程
Jun 01 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
作为PHP程序员你要知道的另外一种日志
Jul 30 PHP
Django 标签筛选的实现代码(一对多、多对多)
Sep 05 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
Nov 29 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
Jul 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
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
PHP 程序员的调试技术小结
2009/11/15 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
2017/06/21 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
再探JavaScript作用域
2014/09/24 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
前端微信支付js代码
2016/07/25 Javascript
关于vue中 $emit的用法详解
2018/04/12 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
[53:21]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-CDEC
2014/05/22 DOTA
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
Python中你应该知道的一些内置函数
2017/03/31 Python
python实现excel读写数据
2021/03/02 Python
python3中的md5加密实例
2018/05/29 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
Django单元测试中Fixtures的使用方法
2020/02/26 Python
django日志默认打印request请求信息的方法示例
2020/05/17 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
Pycharm安装Qt Design快捷工具的详细教程
2020/11/18 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
材料化学应届生求职信
2013/10/09 职场文书
质检的岗位职责
2013/11/17 职场文书
副总经理工作职责
2013/11/28 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
水利局群众路线专题民主生活会发言材料
2014/09/21 职场文书
公司合并协议书范本
2014/09/30 职场文书
奖励申请报告范文
2015/05/15 职场文书
幼儿园大班教学反思
2016/03/02 职场文书