迎接2012之图片水印的实现

来源:互联网 发布:mac版魔兽世界插件 编辑:程序博客网 时间:2024/05/16 18:11

一、代码

(1)ImageWatermark.cs

using System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>///ImageWatermark 的摘要说明/// </summary>public class ImageWatermark:IHttpHandler{public ImageWatermark(){////TODO: 在此处添加构造函数逻辑//}    public bool IsReusable    {        get { return true; }    }    public void ProcessRequest(HttpContext context)    {        if (System.IO.File.Exists(context.Request.PhysicalPath))        {            System.Drawing.Image img = new System.Drawing.Bitmap(context.Request.PhysicalPath);            using (System.Drawing.Graphics grap = System.Drawing.Graphics.FromImage(img))            {                grap.DrawString("迎接2012系列", new System.Drawing.Font("宋体", 55), System.Drawing.Brushes.Yellow, new System.Drawing.PointF(0, 0)); //添加文字水印                System.Drawing.Image img2 = new System.Drawing.Bitmap(context.Server.MapPath("~")+"//Image//bj2.jpg");                grap.DrawImage(img2, 50, 65, 250, 300); //添加图片水印                img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);            }                    }    }}

(2)web.config

<?xml version="1.0"?><!--  有关如何配置 ASP.NET 应用程序的详细信息,请访问  http://go.microsoft.com/fwlink/?LinkId=169433  --><configuration><system.web><compilation debug="true" targetFramework="4.0"/>    <httpHandlers>      <add verb="*" type="ImageWatermark" path="*.jpg"/>    </httpHandlers></system.web></configuration>
二、效果图

三、尚未仔细测试可能会有错误。