代码改变世界

水印

2015-07-29 14:28  风中的诺言  阅读(110)  评论(0)    收藏  举报

public void ProcessRequest(HttpContext context)
    {
        //指定水印图片
        string waterImag_Url = "~/wImages/logo.gif";
        //指定默认图片
        string defaultImag_Url = "~/wImages/error.jpg";
        //创建图片对象,用于存放用户读取的图片
        System.Drawing.Image g;
        //判断所请求的图片是否存在,存在就给图片加水印
        if (File.Exists(context.Request.PhysicalPath))
        {
            g = System.Drawing.Image.FromFile(context.Request.PhysicalPath);
            //加载水印图片
            System.Drawing.Image waterImag = System.Drawing.Image.FromFile(context.Request.MapPath(waterImag_Url));
            Graphics gh = Graphics.FromImage(g);
            gh.DrawImage(waterImag, new RectangleF(0, g.Height - waterImag.Height, 100, 20));

            //加载水印字符串
            Font font = new System.Drawing.Font("Arial", 6, System.Drawing.FontStyle.Bold);
            gh.DrawString("S V E", font, Brushes.White, 2, 2);

            gh.Dispose();

            waterImag.Dispose();
        }
        else
        {
            g = System.Drawing.Image.FromFile(context.Request.MapPath(defaultImag_Url));//图片不存在,显示默认图片
        }

        context.Response.ContentType = "image/jpeg";
        g.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
        g.Dispose();
        context.Response.End();
    }