首页 > 代码库 > 步步为营-71-asp.net的简单练习(图片处理)
步步为营-71-asp.net的简单练习(图片处理)
1 原有图片添加水印
1.1 封装一个类,用于获取文件路径
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; namespace _06_图片处理 { public static class FileHelper { public static string GetFilePath() { //02 创建文件保存路径 string savePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory + "Upload\\"); //02-01 根据日期创建文件夹 DateTime dt = DateTime.Now; savePath += dt.Year + "\\" + dt.Month + "\\" + dt.Day; if (!Directory.Exists(savePath)) { //创建文件夹 Directory.CreateDirectory(savePath); } //02-02文 件名为当前时间 //savePath += "\\" + dt.ToString().Replace(‘:‘, ‘-‘) + ".gif"; savePath += "\\" + dt.ToString().Replace(‘:‘, ‘-‘) ; return savePath; } } }
1.2 html页面和ashx页面
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form action="AddLogo.ashx" method="post" enctype="multipart/form-data"> <input type="file" name="OrImg" /> <input type="submit" value=http://www.mamicode.com/"添加水印" /> </form> </body> </html>
using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Web; namespace _06_图片处理 { /// <summary> /// AddLogo 的摘要说明 /// </summary> public class AddLogo : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/html"; //01 获取上传图片 HttpPostedFile pf = context.Request.Files["OrImg"]; #region 02 添加水印 //02-01 创建画布 Bitmap bm = new Bitmap(pf.InputStream); //02-02 创建绘图工具 Graphics gs = Graphics.FromImage(bm); //02-03 拿到logo图片 Bitmap bmLogo = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "/images/LogoYK.GIF"); //02-04 开始绘制 gs.DrawImage(bmLogo,bm.Width-bmLogo.Width,bm.Height-bmLogo.Height,bmLogo.Width,bmLogo.Height); #endregion #region 03 保存 //03-01 获取文件扩展名 string extName = pf.FileName.Substring(pf.FileName.LastIndexOf(‘.‘)); //03-02 获取文件路径 string ph = FileHelper.GetFilePath(); string savePath = ph + extName; //03-03 saveAs bm.Save(savePath); #endregion //04 展示 context.Response.Write("<img src=http://www.mamicode.com/‘" + savePath.Substring(savePath.IndexOf("Upload")) + "‘/> "); } public bool IsReusable { get { return false; } } } }
1.3 运行效果
步步为营-71-asp.net的简单练习(图片处理)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。