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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。