快速业务通道

IHttpHandler给图片添加水印

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-11
    string imagePath = context.Request.PhysicalPath;
        Bitmap image = null;
        if (context.Cache[imagePath] == null)//如果当前缓存中没有指定的图片就将该图片添加水印并缓存
        {
            image = new Bitmap(imagePath);
            image = AddWaterMark(image);
            context.Cache[imagePath] = image;
        }
        else//否则就直接从混存中取出添加了水印的图片,节省时间
        {
            image = context.Cache[imagePath] as Bitmap;
        }
        image.Save(context.Response.OutputStream, ImageFormat.Jpeg);//将添加水印的图片输入到当前流中
    }     #endregion     //给图片添加水印
    private Bitmap AddWaterMark(Bitmap image)
    {
        string text = System.Configuration.ConfigurationManager.AppSettings["WaterMark"].ToString();
        int fontSize = int.Parse(System.Configuration.ConfigurationManager.AppSettings["Font-Size"].ToString());
        Font font = new Font("宋体", fontSize);         //Brush brush = Brushes.DarkGray;
        Brush brush = Brushes.Red;
        Graphics g = Graphics.FromImage(image);
        SizeF size = g.MeasureString(text, font);
        g.DrawString(text, font, brush, image.Width - size.Width, image.Height - size.Height);
        g.Dispose();
        return image;
    }
}
可以把这个类编译成一个单独的dll文件,不过我现在是演示,直接放在了App_Code文件夹下了。 然后我们编写演示文件,这是一个简单的aspx页面(纯html,没有使用任何服务器控件),代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="Index" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>给图片添加水印的例子——by 周公</title>
</head>
<body>
    <form id="form1" runat="server">
  

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号