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生成二维码
- ASP.NET中重载(Overload)和覆写(Override)
- ASP.NET合并两个相关联的DataTable
- netcorelinux后台运作(Linux系统Docker 部署 ASP.NET Core应用的流程分析)
- ASP.NET抓取网页内容
- ASP.NET中获取匿名对象的属性值
- ASP.NET中Server对象的用法
- Asp.net页面传值乱码
- ASP.NET中XML与DataSet的相互转换
- ASP.NET中XML和JSON互转
- Asp.Net实现网站的快捷方式
- asp.net func 委托
- ASP.NET如何获取上传图片的宽和高
- asp.net中fileupload上传文件的方法
- asp.net如何实现word文档在线预览
- ASP.NET 生成条形码
- 吉善缘《聚宝金蟾》金蟾招财摆件 三足全铜蟾蜍客厅店铺开业礼品(吉善缘聚宝金蟾金蟾招财摆件)
- 招财化煞神兽,金蟾变了(招财化煞神兽金蟾变了)
- 26岁杨紫的白素贞遇上24岁鞠婧祎,哪个最美(26岁杨紫的白素贞遇上24岁鞠婧祎)
- 鞠婧祎和杨紫两种风格的女生,你心里谁比较美(鞠婧祎和杨紫两种风格的女生)
- 三千年第一美女鞠婧祎出演白素贞pk杨紫,颜值胜赵雅芝王祖贤(三千年第一美女鞠婧祎出演白素贞pk杨紫)
- 成都轨道交通13号线一期工程最新进展(成都轨道交通13号线一期工程最新进展)
热门推荐
- mysql主机双向复制配置(浅析MySQL并行复制)
- 阿里云ecs同时连接限制(阿里云ECS端口怎么开?阿里云服务器放行端口图文教程)
- sqlserver 创建数据库链接(SqlServer数据库远程连接案例教程)
- vue开发的购物车0.1加0.2(vue实现可改变购物数量的购物车)
- sql server操作方法(SQL Server 文件操作方法)
- css选择器使用时需要注意哪些方面(CSS选择器的新用法推荐)
- 企业网站服务器怎么选(企业网站服务器租用几个常见问题)
- teamcenter常见问题(TeamCenter12登陆报404/503问题解决方案)
- 仅主机模式搭建hadoop集群(阿里云服务器搭建hadoop集群补充)
- php微信支付流程(PHP实现微信退款的方法示例)