zoukankan      html  css  js  c++  java
  • asp.net如何给每张图片动态添加水印方法(二)

    第一步,在App_Code中新建一个类,类名为BookCoverHandler,然后代码如下

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Web;

    using System.Drawing;

    using System.Drawing.Imaging;

    using System.IO;


    /// <summary>

    ///BookCoverHandler 的摘要说明

    /// </summary>

    public class BookCoverHandler:IHttpHandler

    {

        public void ProcessRequest(HttpContext context)

        {

            //获取请求的图片信息

            //string isbn = context.Request.QueryString["isbn"];


            //找图片

            //string path = context.Server.MapPath("~/Images/BookCovers/" + isbn + ".jpg");

            string path = context.Request.PhysicalPath;

            string defaultPath = context.Server.MapPath("~/images/default.jpg");

            string waterPath = context.Server.MapPath("~/images/watermark.jpg");

            //处理图片

            Image cover;

            //图片存在加水印

            if (File.Exists(path))

            {

                Image water = Image.FromFile(waterPath);

                cover = Image.FromFile(path);

                Graphics g = Graphics.FromImage(cover);

                g.DrawImage(water,

                    cover.Width - water.Width,

                    cover.Height - water.Height,

                    water.Width,

                    water.Height);

                g.Dispose();

            }

            else//图片不存在加载默认图片 

            {

                cover = Image.FromFile(defaultPath);

            }

            context.Response.ContentType = "image/jpeg";

            cover.Save(context.Response.OutputStream, ImageFormat.Jpeg);

            cover.Dispose();

            context.Response.End();

        }


        public bool IsReusable

        {

            get

            {

                return true;

            }

        }

    }

    第二部,在web.config中

        <httpHandlers>

          <!--图片水印-->

          <add verb="*" type="BookCoverHandler" path="Images/BookCovers/*.jpg" />

        </httpHandlers>

    然后就会为Images/BookCovers/下的jpg图片自动添加水印


    经验在于积累----武二郎
  • 相关阅读:
    《操作系统真象还原》bochs安装
    容量限制的设施位置问题
    Python1 关于安装
    分层测试
    理解 Apache与Tomcat
    CSPS Day1 T1 格雷码
    快速幂+龟速乘+费马小定理+逆元+矩阵乘法
    P2261 [CQOI2007]余数求和
    MySQL源码:Innobase字典管理及索引
    一致代码段和非一致代码段
  • 原文地址:https://www.cnblogs.com/zhanghai/p/4461255.html
Copyright © 2011-2022 走看看