介绍
形式
身体>
小编给大家分享一下ASP。净怎么实现图片自动添加水印,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!
先建一个类,感觉注释已经很详细了,有不懂的欢迎评论
using 系统; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using 先; using 来; using 包含; namespace shuiyin { ,public class Water : IHttpHandler ,{ ,/* ,,这个IsReusable的真的是可以提高效率但是,会线程不安全 ,,IHttpHandler实例可以再次使用 ,,假的,会安全一些,效率会低一些 ,,IHttpHandler的实例就不能使用, ,,*/public 才能bool IsReusable =祝辞,真的;//水才能印 private 才能const string  Water_Url =,“~/图片/watermark.png";//没才能有图片的时候使用 private 才能const string  None_Picture =,“~/错误/default.jpg"; public 才能;void  ProcessRequest (HttpContext 上下文) {才能 ,,//获取图片的物理路径 ,,string path =, context.Request.PhysicalPath; ,,Image 形象; ,,//如果我当前项目中有这个图片,就可以进行加水印操作 ,,if (File.Exists(路径)) ,,{ ,,,//获取指定的图片(要添加水印的图片) ,,,image =, Image.FromFile(路径); ,,,//再找的到,要添加的水印 ,,,Image image_Water =, Image.FromFile (context.Server.MapPath (Water_Url)); ,,,//使用画图的类,获取图片 ,,,Graphics Graphics =, Graphics.FromImage(图片); ,,,//画图方法,第一个参数就是要添加的水印 ,,,graphics.DrawImage (image_Water, ,,,,//第二个参数是一个坐标的问题,从(x1, y1坐标开始,绘制的水印的长度和宽度, ,,,,//一共四个参数(x1, y1,水印的长度,宽度 ,,,,new 矩形(image.Width 安康;image_Water.Width, image.Height 作用;image_Water.Height,, image_Water.Width,, image_Water.Height), ,,,,//从上一个参数获取的位置开始作为新的区域 ,,,,//新区域的0,0开始,也是宽度和长度, ,,,,//最后一个参数就是,像素的问题,多少像素 ,,,,0,0,,image_Water.Width,, image_Water.Height, GraphicsUnit.Pixel); ,,,//使用完了,把两个图片的资源都释放掉 ,,,graphics.Dispose (); ,,,image_Water.Dispose (); ,,} 其他的,, ,,{ ,,,//这里是如果没有指定的图片的话,就用一个找不到的图片去代替 ,,,image =, Image.FromFile (context.Server.MapPath (None_Picture)); ,,} ,,//新图片的类型 ,,context.Response.ContentType =,“图像/Jpeg"; ,,//把新图片进行保存,输出流和格式 ,,image.Save (context.Response.OutputStream, ImageFormat.Jpeg); ,,//使用完保存,释放掉图片的资源,结束 ,,image.Dispose (); ,,context.Response.End (); ,,} ,} }
修改配置文件
& lt; system.webServer> ,& lt; handlers> & lt;才能add 动词=?“,name=癷mage_Water",路径=巴枷?* .jpg",类型=皊huiyin.Water"/比; ,& lt;/handlers> & lt;/system.webServer>
路径是加水印图片的地址,类型是那个类的路径:
也就是命名空间。(点)类名
一个简单的web窗体
& lt; % @ Page 语言=癱#“, AutoEventWireup=皌rue",后台代码=癟hreePicture_Water.aspx.cs",继承=皊huiyin.ThreePicture_Water", %比; & lt; ! DOCTYPE html> & lt; html  xmlns=癶ttp://www.w3.org/1999/xhtml"比; & lt; head  runat=皊erver"祝辞 & lt; meta  http-equiv=癈ontent-Type",内容=皌ext/html;, charset=utf-8"/比; ,& lt; title> & lt;/title> & lt;/head> & lt; body> ,& lt; form id=癴orm1", runat=皊erver"比; & lt;才能div> ,,& lt; img  src=https://www.yisu.com/zixun/巴枷?adv1.jpg "/>