`

主题:ASP.NET加上水印

    博客分类:
  • .NET
阅读更多

为我们发布的图片加上一个水印,也是我们经常要做的事情,那怎么样来做呢,下面就一步步开始吧

 

首先是一个制作水印的类:ImageHandler,代码如下:using System;

using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

/// <summary>
///ImageHandler 的摘要说明
/// </summary>
public class ImageHandler:IHttpHandler
{
    private const string waterMark_URL = "~/Images/waterMark.jpg";
    private const string defaultImage_URL = "~/Images/Default.jpg";

	public ImageHandler()
	{
		//
		//TODO: 在此处添加构造函数逻辑
		//
	}

    public void ProcessRequest(HttpContext context)
    {
        System.Drawing.Image ImageConver;
        if (File.Exists(context.Request.PhysicalPath))
        {
            //加载文件
            ImageConver = Image.FromFile(context.Request.PhysicalPath);
            //加载水印图片
            Image waterMark = Image.FromFile(context.Request.MapPath(waterMark_URL));
            //重新画布
            Graphics g = Graphics.FromImage(ImageConver);
            g.DrawImage(waterMark, new Rectangle(ImageConver.Width - waterMark.Width, ImageConver.Height - waterMark.Height, waterMark.Width, waterMark.Height), 0, 0, waterMark.Width, waterMark.Height, GraphicsUnit.Pixel);
            g.Dispose();
            waterMark.Dispose();
        }
        else
        {
            ImageConver=Image.FromFile(context.Request.MapPath(defaultImage_URL));
        }

        //设置输出格式
        context.Response.ContentType="image/jpeg";
        ImageConver.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
        ImageConver.Dispose();
        context.Response.End();
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}
 接下来,我们要做一个很关键的配置,那就是在Web.Config文件中加入如下一句话

<httpHandlers>

<!--图片水印-->
      <add verb="*" path="Images/*.jpg" type="ImageHandler"/>

</httpHandlers>

分享到:
评论

相关推荐

    asp.net为PDF添加水印

    接下来,我们分步骤介绍如何使用iTextSharp库来添加水印: 1. **安装iTextSharp**:首先,你需要在你的ASP.NET项目中引入iTextSharp库。可以通过NuGet包管理器进行安装,搜索“iTextSharp”并添加到项目中。 2. **...

    asp.net水印加图片上传组件

    这个组件使得开发者能够方便地实现用户在网站上上传图片,并且在保存图片时自动加上水印,以此保护图片版权或者增加品牌标识。 在ASP.NET中,这种组件通常由服务器端代码(如C#或VB.NET)和客户端JavaScript组成。...

    ASP.NET Gif加水印示例

    获得gif 图像的每一桢图像,然后将其加水印,获得每一桢的延迟时间。生成一个自定义Frame对象,再处理完每一桢之后,再通过程序将这些图片加上gif 的参数信息,重新生成一个gif文件,目前生成gif部分采用ngif库

    asp.net c# 动态生成图片 图片水印

    ### ASP.NET C# 动态生成图片与水印技术详解 #### 一、概述 在ASP.NET C#项目中,动态生成图片并添加水印是一项常见的功能需求,尤其是在需要保护版权或标识信息的情况下。本文将深入探讨如何使用C#语言在ASP.NET...

    图片加水印(ASP.NET&C# treeView&listView)

    7.加水印速度快,一般几秒就可以为大批量图片加上你的水印; 8.操作简单;(1)写上你的文字或者图片水印,(2)选中您的图片存放文件夹,(3)点添加水印 注意:添加图片水印时候,一定要先把文字水印的文本框文字清除; 9....

    asp.net 图片加水印功能

    ### ASP.NET 图片加水印功能 在ASP.NET开发中,为图片添加文字水印是一项常见且实用的功能,尤其在需要保护图片版权或增加品牌标识的场景下更为重要。本文将详细解析一个ASP.NET实现的图片加水印功能,并通过代码...

    asp.net 模仿资源管理器管理文件和文件夹以及文件上传 和把上传

    在ASP.NET中,模仿资源管理器来管理文件和文件夹是一项常见的需求,这通常涉及到文件的浏览、创建、删除、重命名以及上传等操作。在这个项目中,开发者可能使用了自定义控件或者第三方控件来实现类似Windows资源管理...

    asp.net自动上载图片文件并生成水印及缩微图

    总结来说,这个示例涵盖了ASP.NET中的文件上传、文件操作、图像处理(包括生成缩微图和添加水印)等多个核心概念。开发者可以通过此示例学习到如何在实际项目中处理用户上传的图片,以及如何增强图片处理功能,如...

    UltraWebChart--服务器端-基于ASP.NET的图表控件

    提供了ASP.NET 基于会话的安全性,从而保证了显示的图表数据,使所有敏感图表非常安全。 强大的美学增强 图表不仅仅采用点阵表示,最重要的是数据的外观显示。为了轻松的显示您的图表,UltraWebChart提供了内置的...

    博客中的水印图片和水印文字

    这涉及读取上传的图片,加上水印后再发送回浏览器。 6. **水印的存储与缓存** 生成带有水印的图片后,可以将其存储到服务器,然后提供一个URL给用户访问。同时,考虑使用缓存机制,以减少每次请求时的计算开销。 ...

    图片上传加上水印 源码

    在ASP.NET中,我们可以使用`HttpPostedFileBase`类来接收上传的图片文件。用户通过表单提交文件时,服务器端的控制器方法会接收到这个类的实例,然后可以读取并保存上传的图片。 ```csharp [HttpPost] public ...

    图片显示加上水印效果

    ### 图片显示加上水印效果的关键技术点解析 在当今数字化时代,图像处理技术变得尤为重要,尤其是在保护知识产权、增加品牌可见度等方面。本篇文章将基于提供的文件内容,深入解析如何在图片显示时添加水印效果的...

    ASP.NET开发实战1200例(第Ⅰ卷)第二十章

    第20章 图文验证与图片处理技术 770 20.1 网站常用验证码大全 771 实例514 绘制纯数字的网站验证码 771 ...实例542 为相册中的照片加上淡入淡出效果 (AJAX) 821 实例543 使用AJAX可调整大小控件拖曳图片 调大小 823

    ASP网上购物系统旗舰版

    图片支持自动加水印,可选文字或者图片形式; 商品介绍支持html编辑器,支持图片、Flash、视频、音频、表格、文字格式等 11)管理员可以开启商品大小图功能,开启大小图可以优化显示效果同时加快打开速度 管理员...

    .net 用代码在图片上写字

    这里的`Server.MapPath`是一个ASP.NET中的方法,用于获取服务器上的绝对路径。`Image.FromFile`则是加载图片的方法。 ##### 第三步:创建新的图片实例 ```csharp Image newImage = new Bitmap(image.Width, image....

    aspjpeg2.6破解版,带注册机

    AspJpeg可以使用很少的代码在您的ASP/ASP.Net应用程序上动态的创建高质量的缩略图象,支持的图象格式有:JPEG, GIF, BMP, TIFF, PNG。 AspJpeg主要可以做到:生成缩略图片、生成水印图片、图片合并、图片切割、...

    aspjpeg32位带安装码

    AspJpeg可以使用很少的代码在您的ASP/ASP.Net应用程序上动态的创建高质量的缩略图象,支持的图象格式有:JPEG, GIF, BMP, TIFF, PNG。 AspJpeg主要可以做到:生成缩略图片、生成水印图片、图片合并、图片切割、...

    aspjpeg 2.0 组件及注册码

     AspJpeg可以使用很少的代码在您的ASP/ASP.Net应用程序上动态的创建高质量的缩略图象,支持的图象格式有:JPEG, GIF, BMP, TIFF, PNG。  AspJpeg主要可以做到:生成缩略图片、生成水印图片、图片合并、图片切割、...

    AspJpeg组件 AspJpeg1.801

     AspJpeg可以使用很少的代码在您的ASP/ASP.Net应用程序上动态的创建高质量的缩略图象,支持的图象格式有:JPEG, GIF, BMP, TIFF, PNG。  AspJpeg主要可以做到:生成缩略图片、生成水印图片、图片合并、图片切割、...

    给图像加水印的程序

    标题中的“给图像加水印的程序”是一个...总的来说,给图像加水印的程序涉及到C#编程,利用GDI+库进行图像处理,并结合ASP.NET进行服务器端操作。这个过程不仅涉及到技术的实践,还包括版权保护和品牌宣传的策略考虑。

Global site tag (gtag.js) - Google Analytics