迎接2012之图片水印的实现

一、代码

(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>
二、效果图

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值