📄 bookcover.ashx
字号:
<%@ WebHandler Language="C#" Class="BookCover" %>
using System;
using System.Web;
using System.Drawing;
using System.IO;
public class BookCover : IHttpHandler {
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");
}
/// <summary>
/// 当添加数字水印的图片没有时,绘制有数字水印的图片
/// </summary>
/// <param name="road">图片路径</param>
/// <param name="watermarkroad">数字水印路径</param>
/// <param name="defaultimage">默认图片路径</param>
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 + -