iis7.0配置映射实现水印效果【IHttpHandler接口】
代码:[code][color=#0000FF]using[/color] System;
[color=#0000FF]using[/color] System.Collections.Generic;
[color=#0000FF]using[/color] System.Web;
[color=#0000FF]using[/color] System.IO;
[color=#0000FF]using[/color] System.Drawing;
[color=#0000FF]using[/color] System.Drawing.Imaging;
[color=#808080]///[/color][color=#008000] [/color][color=#808080]<summary>[/color][color=#008000]
[/color][color=#808080]///[/color][color=#008000]水印的摘要说明
[/color][color=#808080]///[/color][color=#008000] [/color][color=#808080]</summary>[/color][color=#808080]
[/color][color=#0000FF]public[/color] [color=#0000FF]class[/color] ShuiYin:IHttpHandler
{
[color=#0000FF]public[/color] ShuiYin()
{
[color=#008000]//[/color][color=#008000]
[/color][color=#008000]//[/color][color=#008000]TODO: 在此处添加构造函数逻辑
[/color][color=#008000]//
[/color] }
[color=#0000FF]public[/color] [color=#0000FF]bool[/color] IsReusable
{
[color=#0000FF]get[/color] { [color=#0000FF]return[/color] [color=#0000FF]true[/color]; }
[color=#008000]//[/color][color=#008000] get { throw new NotImplementedException(); }[/color][color=#008000]
[/color] }
[color=#0000FF]public[/color] [color=#0000FF]void[/color] ProcessRequest(HttpContext context)
{
[color=#0000FF]string[/color] imageFile = context.Request.PhysicalPath;
Image image = [color=#0000FF]null[/color];
[color=#0000FF]if[/color] (File.Exists(imageFile))
{
[color=#0000FF]string[/color] text = [color=#800000]"[/color][color=#800000]本图片来自朝辉电脑[/color][color=#800000]"[/color];
Font font = [color=#0000FF]new[/color] Font([color=#800000]"[/color][color=#800000]宋体[/color][color=#800000]"[/color], [color=#800080]12[/color]);
image = Image.FromFile(imageFile);
Graphics g = Graphics.FromImage(image);
SizeF size = g.MeasureString(text, font);
[color=#0000FF]if[/color] (size.Width > image.Width || size.Height > image.Height)
{
context.Response.Write([color=#800000]"[/color][color=#800000]文字太大了[/color][color=#800000]"[/color]);
}
[color=#0000FF]else[/color]
{
Brush brush = Brushes.Blue;
g.DrawString(text, font, brush, image.Width - size.Width, image.Height - size.Height);
}
}
[color=#0000FF]else[/color]
{
imageFile = context.Server.MapPath([color=#800000]"[/color][color=#800000]018.jpg[/color][color=#800000]"[/color]);
image = Image.FromFile(imageFile);
}
image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
[color=#008000]//[/color][color=#008000]throw new NotImplementedException();[/color][color=#008000]
[/color] }
}[/code]
目录:红色圈起来的
[attach]52988[/attach]
说明:直接在vs里面运行的时候可以实现,但是在iis下就不能,但是知道要配置映射,可以试了还是不可以,希望高手帮忙下 iis7.0环境
页:
[1]