ASP.NET给图片加图片水印
类别:编程学习 浏览量:1857
时间:2013-9-19 ASP.NET给图片加图片水印
ASP.NET给图片加图片水印ASP.NET给图片加图片水印代码如下:
using System.IO; using System.Drawing; using System.Drawing.Imaging; using System.Drawing.Drawing2D; /// <summary> /// 图片水印处理方法 /// </summary> /// <param name="path">需要加载水印的图片路径(绝对路径)</param> /// <param name="waterpath">水印图片(绝对路径)</param> /// <param name="location">水印位置(传送正确的代码)</param> public static string ImageWatermark(string path, string waterpath, string location) { string kz_name = Path.GetExtension(path); if (kz_name == ".jpg" || kz_name == ".bmp" || kz_name == ".jpeg") { DateTime time = DateTime.Now; string filename = "" + time.Year.ToString() + time.Month.ToString() + time.Day.ToString() + time.Hour.ToString() + time.Minute.ToString() + time.Second.ToString() + time.Millisecond.ToString(); Image img = Bitmap.FromFile(path); Image waterimg = Image.FromFile(waterpath); Graphics g = Graphics.FromImage(img); ArrayList loca = GetLocation(location, img, waterimg); g.DrawImage(waterimg, new Rectangle(int.Parse(loca[0].ToString()), int.Parse(loca[1].ToString()), waterimg.Width, waterimg.Height)); waterimg.Dispose(); g.Dispose(); string newpath = Path.GetDirectoryName(path) + filename + kz_name; img.Save(newpath); img.Dispose(); File.Copy(newpath, path, true); if (File.Exists(newpath)) { File.Delete(newpath); } } return path; } /// <summary> /// 图片水印位置处理方法 /// </summary> /// <param name="location">水印位置</param> /// <param name="img">需要添加水印的图片</param> /// <param name="waterimg">水印图片</param> private static ArrayList GetLocation(string location, Image img, Image waterimg) { ArrayList loca = new ArrayList(); int x = 0; int y = 0; if (location == "LT") { x = 10; y = 10; } else if (location == "T") { x = img.Width / 2 - waterimg.Width / 2; y = img.Height - waterimg.Height; } else if (location == "RT") { x = img.Width - waterimg.Width; y = 10; } else if (location == "LC") { x = 10; y = img.Height / 2 - waterimg.Height / 2; } else if (location == "C") { x = img.Width / 2 - waterimg.Width / 2; y = img.Height / 2 - waterimg.Height / 2; } else if (location == "RC") { x = img.Width - waterimg.Width; y = img.Height / 2 - waterimg.Height / 2; } else if (location == "LB") { x = 10; y = img.Height - waterimg.Height; } else if (location == "B") { x = img.Width / 2 - waterimg.Width / 2; y = img.Height - waterimg.Height; } else { x = img.Width - waterimg.Width; y = img.Height - waterimg.Height; } loca.Add(x); loca.Add(y); return loca; }
您可能感兴趣
- ASP.NET中application对象的用法
- ASP.NET抓取网页内容
- asp.net中使用ueditor
- ASP.NET 生成条形码
- 为什么asp.net网站第一次加载慢
- ASP.NET压力测试
- asp.net将ppt文档转换成pdf
- ASP.NET实现多文件上传
- ASP.NET匿名类型var
- asp.net中Session的操作
- ASP.NET泛型约束
- asp.net 日期格式化
- ASP.NET压缩图片
- ASP.NET常用的代码收集
- ASP.NET中() => 的含义
- ASP.NET中XML和JSON互转
- 萌娃唱《白龙马》走红,那生动的小表情,网友直呼 简直是戏精(萌娃唱白龙马走红)
- 朱鹤松被不断认可,凤凰传奇玲花喊话岳云鹏,索要老朱演出门票(朱鹤松被不断认可)
- 元宵晚会槽点多,芒果台上来就假唱,岳云鹏不说相声改评书了(元宵晚会槽点多)
- 岳云鹏跟凤凰传奇谈心,说出了人生中最重要的三个人,这才成功(岳云鹏跟凤凰传奇谈心)
- 爱情可以当饭吃吗(爱情能当饭吃吗)
- Top 3 JSHS《运动与健康科学 英文 》跻身SCI体育学期刊世界前三(Top3JSHS运动与健康科学)
热门推荐
- css高级使用技巧(全面解析CSS Media媒体查询使用操作推荐)
- vmware虚拟linux无法配置ip(在VMware虚拟机中查看Linux的IP地址的方法)
- 宝塔面板怎么用ip访问站点(宝塔面板设置禁止通过IP直接访问网站防止恶意解析)
- 发送邮件的asp.net代码
- 虚拟主机和云服务器有什么区别吗(云服务器和云虚拟主机两者的有什么区别?)
- HTML5面试题
- python中的数据类型和数字类型(Python数据类型之Number数字操作实例详解)
- 容器之间的通信docker(Docker容器互访的三种方法)
- php redis配置(php+redis实现消息队列功能示例)
- sql server没有服务器怎么办(SQL Server 2012安装后服务器名称找不到的解决办法)