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 4.0 到iis
- ASP.NET URL路径问题
- ASP.NET中Obsolete属性
- asp.net后台输出js脚本
- ASP.NET压缩图片
- ASP.NET给图片加文字水印
- ASP.NET使用JavaScriptSerializer实现序列化与反序列化
- ASP.NET中application对象的用法
- windowsserver2008部署php项目(win2008 r2 服务器环境配置FTP/ASP/ASP.Net/PHP)
- ASP.NET常见面试题
- ASP.NET记录错误日志的方式有哪些
- asp.net 文件操作
- netcorelinux后台运作(Linux系统Docker 部署 ASP.NET Core应用的流程分析)
- ASP.NET中XML和JSON互转
- Asp.net导出Excel乱码
- 发送邮件的asp.net代码
- 美国倒掉数十万加仑牛奶 上热搜第一,这一幕似曾相识(美国倒掉数十万加仑牛奶)
- 深度 倒牛奶 这一幕为何又在美国上演(深度倒牛奶)
- 美国数十万加仑牛奶倒下水道怎么回事 原因曝光令人心痛(美国数十万加仑牛奶倒下水道怎么回事)
- 探索中国神秘文字(探索中国神秘文字)
- 重温《蜗居》 宋思明选中海藻为红颜知己,纯属巧合,与爱无关(宋思明选中海藻为红颜知己)
- 越南旅游攻略(越南旅游攻略自由行)
热门推荐
- 网站测试包括哪些内容
- sqlserver代理无法启动错误1607(SQL Server代理:理解SQL代理错误日志处理方法)
- css line-height(CSS中的line-height行高属性学习教程)
- python2个字典合成(Python两个字典键同值相加的几种方法)
- mysql索引应该注意的地方(关于MySQL索引知识的小妙招)
- Js如何判断浏览器类型和版本
- css浮动位置讲解(深入理解css布局之定位与浮动)
- 怎么调用dede自定义表单(DEDE模板中如何使用if进行多分支判断的教程)
- Visual Studio使用Git进行源代码管理
- dedecms上传附件大小限制(dedecms删除文章同时也删除附件的修改方法)