以下代码是用asp.net一般处理程序写的加水印效果的代码,希望对大家有用
主要代码:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
//接收文件
HttpPostedFile file1 = context.Request.Files["f1"];
//根据上传流创建画布
Image bitmap1 = Bitmap.FromStream(file1.InputStream);
//获取绘制工具
Graphics graphics = Graphics.FromImage(bitmap1);
//根据logo图片创建image对象
Image logoImage = Bitmap.FromFile(context.Request.MapPath("/Uploads/logo.gif"));
//绘制logo图片
graphics.DrawImage(logoImage,
bitmap1.Width - logoImage.Width,
bitmap1.Height - logoImage.Height,
logoImage.Width,
logoImage.Height);
//保存
string path = GetDirectory();
string path2 = context.Request.MapPath(path);
if (!Directory.Exists(path2))
{
Directory.CreateDirectory(path2);
}
bitmap1.Save(path2+file1.FileName,ImageFormat.Jpeg);
context.Response.Write("<img src='"+path+file1.FileName+"'/>");
}
private string GetDirectory()
{
DateTime now = DateTime.Now;
StringBuilder sb = new StringBuilder("/Uploads/");
sb.Append(now.Year + "/");
sb.Append(now.Month + "/");
sb.Append(now.Day + "/");
return sb.ToString();
}