图片水印
1.创建第一个网站,准备其图片资源
在网站中添加TestHandel类,继承IHttpHandler接口,编写加水印的功能,代码如下:
namespace WebApplication3
{
public class TestHandel : IHttpHandler
{
private const string WATERMARK_URL = "~/Images/01.jpg";
private const string DEFAULTIME_URL = "~/Error/04.jpg";
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string filePath = context.Request.PhysicalPath;
System.Drawing.Image Cover;
if (File.Exists(filePath))
{
Cover = Image.FromFile(filePath);
Image watermark = Image.FromFile(context.Server.MapPath(WATERMARK_URL));
Graphics G = Graphics.FromImage(Cover);
G.DrawImage(watermark, new Rectangle(Cover.Width - watermark.Width,
Cover.Height - watermark.Height, watermark.Width, watermark.Height), 0,
0, watermark.Width, watermark.Height, GraphicsUnit.Pixel);
G.Dispose();
watermark.Dispose();
}
else
{
Cover = Image.FromFile(context.Request.MapPath(DEFAULTIME_URL));
}
context.Response.ContentType = "Images/jpeg";
Cover.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
Cover.Dispose();
context.Response.End();
}
}
}
2.在Web.coning中配置实现当请求图片资源时由TestHandel类处理,配置如下:
<system.webServer>
<handlers>
<add verb="*" path="Images/*.jpg" type="WebApplication3.TestHandel" name="handerl1"/>
</handlers>
</system.webServer>
3.添加Web页面,展示图片,部分代码如下:
<div>
<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/02.jpg" />
<asp:Image ID="Image2" runat="server" ImageUrl="~/Images/03.jpg" />
</div>