asp.net為圖片加上水印

ASP.NET给图片自动添加水印 先建一个类,感觉注释已经很详细了,有不懂的欢迎评论 using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Web; namespace shuiyin {... 阅读详情

test.aspx.cs

=============================

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;


public partial class test : System.Web.UI.Page
{


private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
Image1.ImageUrl="e:/web/net/images/toqq.gif";
}
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void Button1_Click(object sender, System.EventArgs e)
{
if(File1.PostedFile.FileName.Trim()!="")
{
//上传文件
string extension = Path.GetExtension(File1.PostedFile.FileName).ToLower();
string fileName = DateTime.Now.ToString("yyyyMMddhhmmss");
string path = Server.MapPath(".") + "/upload/" + fileName + extension;
File1.PostedFile.SaveAs(path);

//加文字水印,注意,这里的代码和以下加图片水印的代码不能共存
    //分解gif圖片為多個楨
//System.Drawing.Image image = System.Drawing.Image.FromFile(path);

//Image myImg = Image.FromFile(@"d:/test.gif");
//System.Drawing.Imaging.FrameDimension ImgFrmDim = new System.Drawing.Imaging.FrameDimension(myImg.FrameDimensionsList[0]);
//int nooffrm = myImg.GetFrameCount(ImgFrmDim);

//for (int i = 0; i < nooffrm; i++)
//{
//    myImg.SelectActiveFrame(ImgFrmDim, i);
//    myImg.Save(string.Format(@"d:/Frame{0}.jpg", i), ImageFormat.Jpeg);
//}  

Graphics g = Graphics.FromImage(image);
g.DrawImage(image, 0, 0, image.Width, image.Height);
Font f = new Font("Verdana",16);
Brush b = new SolidBrush(Color.Blue);
string addText = "http://blog.youkuaiyun.com/jackeyabc";
g.DrawString(addText, f, b, 10, 10);
g.Dispose();

//保存加水印过后的图片,删除原始图片
string newPath = Server.MapPath(".") + "/upload/" + fileName + "_new" + extension;
image.Save(newPath);
image.Dispose();
if(File.Exists(path))
{
File.Delete(path);
}

Image1.ImageUrl=newPath;
// Response.Redirect(newPath);
}

}

private void Button2_Click(object sender, System.EventArgs e)
{
//上传文件
string extension = Path.GetExtension(File1.PostedFile.FileName).ToUpper();
string fileName = DateTime.Now.ToString("yyyyMMddhhmmss");
string path = Server.MapPath(".") + "/upload/" + fileName + extension;
File1.PostedFile.SaveAs(path);


//加图片水印
System.Drawing.Image image = System.Drawing.Image.FromFile(path);
System.Drawing.Image copyImage = System.Drawing.Image.FromFile( Server.MapPath(".") + "//2.jpg");
Graphics g = Graphics.FromImage(image);
g.DrawImage(copyImage, new Rectangle(image.Width-copyImage.Width, image.Height-copyImage.Height,

copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);
g.Dispose();

//保存加水印过后的图片,删除原始图片
string newPath = Server.MapPath(".") + "/upload/" + fileName + "_new" + extension;
image.Save(newPath);
image.Dispose();
if(File.Exists(path))
{
File.Delete(path);
}

Image1.ImageUrl=newPath;
}
}

 

=============================

test.aspx

==============================

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>blog.youkuaiyun.com/jackeyabc</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<INPUT id="File1" style="Z-INDEX: 101; LEFT: 144px; WIDTH: 400px; POSITION: absolute; TOP: 88px;

HEIGHT: 22px"
type="file" size="47" name="File1" runat="server">
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 176px; POSITION: absolute; TOP: 136px"

runat="server"
Text="上&#20256;并加文字水印"></asp:Button>
<asp:Button id="Button2" style="Z-INDEX: 103; LEFT: 352px; POSITION: absolute; TOP: 136px"

runat="server"
Text="上&#20256;并加&#22270;片水印"></asp:Button>
<asp:RequiredFieldValidator id="RequiredFieldValidator1" style="Z-INDEX: 104; LEFT: 552px; POSITION:

absolute; TOP: 88px"
runat="server" ErrorMessage="*" ControlToValidate="File1"></asp:RequiredFieldValidator>
<DIV style="Z-INDEX: 105; LEFT: 16px; WIDTH: 100%; POSITION: absolute; TOP: 168px; HEIGHT: 100px"
ms_positioning="GridLayout">
<asp:Image  ImageUrl="e:/web/net/images/toqq.gif" id="Image1" style="Z-INDEX: 107; LEFT: 56px; POSITION: absolute; TOP: 16px"

runat="server"
ImageAlign="Middle"></asp:Image></DIV>
<asp:Label id="Label1" style="Z-INDEX: 107; LEFT: 176px; POSITION: absolute; TOP: 40px"

runat="server">51aspx-上&#20256;&#22270;片并加入水印</asp:Label>
</form>
</body>
</HTML> 

ASP.NET图片上传及水印添加技术指南 在ASP.NET应用程序中实现图片上传功能,主要涉及到客户端文件选择、文件信息的封装、以及服务器端的接收和存储。利用.NET Framework提供的HTTP处理机制和HTML表单,可以较为方便地完成此任务。System.Drawing是.NET Framework中用于处理图像和其他图形元素的一个命名空间。它提供了一系列的类和对象,用于创建和操作图像、处理颜色、绘制文本和图形等。对于ASP.NET开发者来说,这个库为实现图形相关的功能提供了极大的便利。 阅读详情

相关推荐

ASP.NET图片上传与数字水印添加实践指南

ASP.NET(Active Server Pages.NET)是由微软公司开发的一种服务器端脚本环境,用于创建动态交互式的Web应用程序。ASP.NET应用程序以一种称为.NET框架的运行时环境为基础,该环境提供了丰富的类库和API,能够支持C#、VB.NET等语言编写的应用程序。ASP.NET工作的基本原理如下:请求响应模型。

weixin_28721743的博客 667

ASP.NET给图片加上水印

<br />       为我们发布的图片加上一个水印,也是我们经常要做的事情,那怎么样来做呢,下面就一步步开始吧 <br />首先是一个制作水印的类:ImageHandler,代码如下:<br /> /// <summary>    ///ImageHandler 的摘要说明    /// </summary>    public  class  ImageHandler:IHttpHandler    {        private  const

晴朗_Raymond 739

用FPGA驱动WS2812B点阵,手把手教你实现动态文字显示(附完整Verilog代码)

本文详细介绍了如何使用FPGA驱动WS2812B点阵实现动态文字显示,包括硬件连接、Verilog代码实现和动态效果设计。通过精确的时序控制和数据处理,读者可以掌握FPGA与WS2812B的交互技术,并实现炫酷的显示效果。附完整Verilog代码,适合硬件爱好者和工程师参考实践。

weixin_30482383的博客 669

Asp.Net中动态实现图片水印

 一.引言    目前的许多网站,为了保护着作权,通常需在图片上嵌入水印.嵌入水  印可以通过图像编辑软件(如PhotoShop)直接手工在原始图片上进行修改,但  这种方法费时又费力,几乎任何网站都不会采用此方法;或通过GUI+编写程序来  批量处理图片.但这这些方法都将破坏原始图片的完整性.本文介绍的方法,利  用了HttpHandler处理Http请求的机制,只将要呈现在Web页上的图片嵌入水印,  而不会对文件系统中的原始图片做任何修改,有效地保证了原始图片的完整性.  二.相关技术  1. ASP

AAAA的专栏 3858

AWS-解析mysql binlog同步数据方案

虽然是公有云的鼻祖,AWS在某些产品的实现却太不给力;可能是习惯了阿里云喂到嘴边的感觉,AWS很多方案需要自己折腾,蛋疼!比如这里要讲的mysql数据同步方案。 阿里云产品DTS,点几下就OK了,AWS,只能通过插件安装、配置、调试、蹚坑……,具体就是用msk的debezium插件连接器。没见识过的一脸懵逼,下面说下配置步骤和一些注意的坑。

sdmei 1408

国产FPGA开发实战:紫光同创编程软件中的约束文件详解与常见问题

本文详细解析了紫光同创FPGA编程软件中约束文件的关键配置技巧与常见问题。通过基础架构解析、时钟约束实践、物理约束调控及典型问题排查指南,帮助开发者高效掌握国产FPGA开发中的约束文件应用,提升开发效率与设计稳定性。

gin88的博客 910

ASP.NET 给图片动态添加文字水印

文件结构图: Default.aspx  这里只是添加了几个图片 下面这张图片不存在显示程序指定的默认图片   WaterMarkHandler.cs   using Syste

houxh86的专栏 1776

三维跨孔电磁波CT数据可视化框架搭建

利用matlab实现对跨孔电磁波CT实测数据反演,并搭建了三维CT数据可视化框架,可装填实测CT反演数据。

Neverlevsun的博客 1169

在ASP.NET Core中给上传图片功能添加水印

在ASP.NET Core中给上传图片功能添加水印 在传统的.NET框架中,我们给图片添加水印有的是通过HttpModules或者是HttpHandler,然后可以通过以下代码添加水印: var image = new WebImage(imageBytes); image.AddTextWatermark( Settings.I...

qq_39110534的博客 1735

嵌入式Linux开发:手把手教你调试OV9281摄像头Sensor(基于全志平台DTS配置)

本文详细解析了嵌入式Linux开发中OV9281摄像头Sensor的调试全流程,重点介绍了基于全志平台的DTS配置指南。从硬件信号检测到软件驱动配置,包括设备树关键参数设置、内核驱动适配实战及图像质量调优技巧,为开发者提供了一套完整的调试方案,助力工业视觉和边缘计算设备的开发。

weixin_28716769的博客 372

FAST-LIVO2 源码精读(一):系统总览——从 LIO 到 LIVO 的多传感器融合架构

本文是「FAST-LIVO2 激光-惯性-视觉里程计源码精读」专栏的开篇。全专栏共 18 篇,锚定香港大学 MaRS 实验室 2025 年 1 月开源的官方代码,逐模块剖析这套登上 T-RO’24 的多传感器融合系统。开篇先建立全局认知:FAST-LIVO2 所要解决的问题、整体框架的构成,以及源码主线的数据流动。

PX4-SLAM-PNC 598

asp.net 给图片添加水印

<br />using System;<br />using System.Collections;<br />using System.Configuration;<br />using System.Data;<br />using System.Linq;<br />using System.Web;<br />using System.Web.Security;<br />using System.Web.UI;<br />using System.Web.UI.HtmlControls;<br /

hailang123_love的专栏 492

YOLO26改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是。YOLO26主要用于轻量化应用部署,相关轻量化改进与其整体架构非常适配。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 1091

asp.net为图片添加文字水印

无标题页    上传图片:  生成图片宽度:500  生成图片高度:500 每行显示字符数:20   水印文字:在人生的道路上,如果你没有耐心去等待成功的到来,那么你

Sunny 1351

基于Simulink的鲸鱼优化算法(WOA)MPPT仿真

摘要:本文介绍了基于Simulink的鲸鱼优化算法(WOA)在光伏MPPT控制中的应用。WOA模拟座头鲸的"气泡网捕食策略",通过包围猎物、螺旋收缩和随机搜索三阶段动态平衡全局探索与局部开发能力,有效解决局部阴影导致的多峰P-V曲线问题。文章详细讲解了WOA-MPPT的Simulink建模过程,包括多峰光伏阵列建模、WOA控制器实现和Boost变换器控制。仿真结果显示,在三种典型工况下,WOA-MPPT的追踪效率>99.3%,动态响应时间<0.15s,性能优于传统算法。最后提出了混合WO

amy_mhd的博客 72

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ASP.NET MVC中的图片压缩、图片水印

一、在做移动端图片上传的时候,有的图片相对来说比较大,直接上传完整的图片显然不是一个好办法,所以直接在前端压缩图片,已经成为了很多移动端图片上传的必备功能; 在做图片压缩并且上传是主要用到filereader、canvas和formdata; 图片压缩上传的过程并不复杂,搞懂它的逻辑就行,总共可以分成三步: 1.用户在使用input file控件上传图片的时候,首先使用filereader读...

Jie_Studio的博客 1075

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ASP.Net中给图片加水印效果

1.首先创建一个一般处理程序实现IHttpHandler 接口using System;using System.Web;using System.Drawing;using System.IO;public class BookCover : IHttpHandler {    //封面文件夹路径    private const string COVERSADDR = "~/Images/Bo

petshopforpengbo的专栏 305

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Asp.net给图片加上水印效果

private void Btn_Upload_Click(object sender, System.EventArgs e) { if(UploadFile.PostedFile.FileName.Trim()!="") { //上传文件 string extensi

acaoguangke的专栏 2641

asp.net 通过网络图片资源打水印

前言 最近刚学了使用一般处理程序生成带水印的图片,那也是打开本地图片。突然有个想法能不能直接根据网络上图片地址进行水印打印然后保存下来 大致思路 在输入框中黏贴上网络图片的url地址,在后台打开,对它进行打水印的操作。然后显示到前端,点下载按钮保存到计算机中。 实现 这里我们实现前端后端交互使用Ajax 和一般处理程序来完成。前端大致如下 <form id="form1" runat="se...

weixin_43851854的博客 252

asp.net 图片加水印效果

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ShuiYin._Default" %> <%@ Import Namespace="System.IO" %> <!DOCTYPE html PUBLIC "-//W3...

ai45487049的博客 165

在asp.net中使用HttpHandler为网站图片添加水印

首先,新建一个类,名为:WatermarkHandler。这个类实现:IHttpHandler接口。在ProcessRequest方法中添加以下代码:           string url = context.Request.RawUrl.ToLower();            /**//*                判断用户请求的是不是jpg文件             

flyinglimy的网上家园 2261

ASP.NET水印文字超出图片边界,显示在图片外面

在ASP.NET上传图片的功能中,我使用等比例缩放的方式

xjhjzxh的专栏 1179
上一篇: asp.net點擊鼠標移動圖片
下一篇: asp.net生成html並分頁
jackeyabc
博客等级 码龄20年 71粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值