📄 coverhandler.cs
字号:
using System;
using System.Web;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
/// <summary>
/// handler 的摘要说明
/// </summary>
public class CoverHandler : IHttpHandler
{
public CoverHandler()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public void ProcessRequest(HttpContext context)
{
string path = context.Request.MapPath("~/Images/BookCovers/" + context.Request.Params["ISBN"].ToString());
if (!File.Exists(path + "_new.jpg"))
{
MakeNewImage(path, context.Request.MapPath("~/Images/watermark.jpg"), context.Request.MapPath("~/Images/watermark.jpg"));
}
context.Response.ContentType = "image/jpeg";
context.Response.WriteFile(path + "_new.jpg");
}
public void MakeNewImage(string road, string watermarkroad, string defaultimage)
{
System.Drawing.Image image;
if (!File.Exists(road + ".jpg"))
{
image = System.Drawing.Image.FromFile(defaultimage);
}
else
{
image = System.Drawing.Image.FromFile(road + ".jpg");
}
System.Drawing.Image watermark = System.Drawing.Image.FromFile(watermarkroad);
Graphics g = Graphics.FromImage(image);
g.DrawImage(watermark, new Rectangle(image.Width - watermark.Width, image.Height - watermark.Height, watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, GraphicsUnit.Pixel);
g.Dispose();
watermark.Dispose();
string newPath = road + "_new.jpg";
image.Save(newPath);
image.Dispose();
}
public bool IsReusable
{
get
{
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -