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图片自动添加水印


    经验在于积累----武二郎
  • 相关阅读:
    网页设计的12种颜色
    深入理解编辑过程
    数据压缩
    <Mastering KVM Virtualization>:第四章 使用libvirt创建你的第一台虚拟机
    <Mastering KVM Virtualization>:第三章 搭建独立的KVM虚拟化
    <Mastering KVM Virtualization>:第二章 KVM内部原理
    <Mastering KVM Virtualization>:第一章 了解Linux虚拟化
    本地设置
    Spring Data JPA之删除和修改
    在Mac Chrome上关闭跨域限制--disable-web-security
  • 原文地址:https://www.cnblogs.com/zhanghai/p/4461255.html
Copyright © 2011-2022 走看看