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

    前台


     <asp:ImageButton ID="imgBtn2" runat="server" ImageUrl="~/imageHandler.ashx?isbn=7115147353" Width="128" Height="135"/>

    httpHandle后台

    <%@ WebHandler Language="C#" Class="imageHandler" %>


    using System;

    using System.Web;

    using System.Drawing;

    using System.Drawing.Imaging;

    using System.IO;

    using System.Text;


    public class imageHandler : IHttpHandler {

        

        public void ProcessRequest (HttpContext context) {

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


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

            string defaultImg = context.Server.MapPath("~/Images/default.jpg");

            string waterImg = context.Server.MapPath("~/Images/WaterMark.jpg");


            Image cover;

            if (File.Exists(path))

            {

                //加载水印

                Image water = Image.FromFile(waterImg);

                //加载文件

                cover = Image.FromFile(path);

                //实例化画布

                Graphics g = Graphics.FromImage(cover);

                //在Images上绘制水印

                g.DrawImage(

                    water, cover.Width - water.Width,

                    cover.Height - water.Height,

                    water.Width, water.Height

                    );

                g.Dispose();



            }


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

            {

                cover = Image.FromFile(defaultImg);

            }

            //设置输出类型为jpeg图片

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

            //将修改的图片存入输出流

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

            cover.Dispose();

            context.Response.End();

            

                }

        public bool IsReusable {

            get {

                return true;

            }

        }


    }


    经验在于积累----武二郎
  • 相关阅读:
    JS实现——用3L和5L量出4L的水
    岭回归与Lasso回归
    简单多元线性回归(梯度下降算法与矩阵法)
    【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法
    tensorflow sigmoid_cross_entropy_with_logits 函数解释
    tensorflow 线性回归解决 iris 2分类
    神经网络激活函数
    神经网络防止过拟合的方法
    网络流量分析——NPMD关注IT运维、识别宕机和运行不佳进行性能优化。智能化分析是关键-主动发现业务运行异常。科来做APT相关的安全分析
    cnn汉字识别 tensorflow demo
  • 原文地址:https://www.cnblogs.com/zhanghai/p/4461256.html
Copyright © 2011-2022 走看看