Web/ImgWaterHandler.ashx
(完整代码) 1KB<%@ WebHandler Language="C#" Class="ImgWaterHandler" %>
using System;
using System.Web;
using System.Drawing;
using System.IO;
public class ImgWaterHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context) {
context.Response.ContentType = "image/jpeg";
//1.得到水印图片
string waterImgFilePath = context.Server.MapPath("~/Images/WaterMark.jpg");
Image waterImg = Image.FromFile(waterImgFilePath);
//2.得到背景图片
string isbn = context.Request.QueryString["isbn"];
string bookImgFilePath = context.Server.MapPath("~/Images/BookCovers/" + isbn + ".jpg");
if (!File.Exists(bookImgFilePath))
{
return;
}
Image bookImg = Image.FromFile(bookImgFilePath);
//3.将水印图片画到封面图片上
//a.创建画布
Graphics gra = Graphics.FromImage(bookImg);
//b.将水印图片画到画布上
gra.DrawImage(waterImg,
new Rectangle(
bookImg.Width - waterImg.Width,
bookImg.Height - waterImg.Height,
waterImg.Width, waterImg.Height),
0, 0, waterImg.Width, waterImg.Height, GraphicsUnit.Pixel);
//c.将画好的图片保存到Response输出流里
bookImg.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
bookImg.Dispose();
waterImg.Dispose();
context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。