asp.net繼承IHttpHandler接口實(shí)現(xiàn)給網(wǎng)站圖片添加水印功能實(shí)例
本文實(shí)例講述了asp.net繼承IHttpHandler接口實(shí)現(xiàn)給網(wǎng)站圖片添加水印功能。分享給大家供大家參考,具體如下:
先展示圖片效果:

1. 在App_Code下添加類文件,命名為ImageSY 文件內(nèi)容如下
public class ImageSY : IHttpHandler
{
public ImageSY()
{
//
//TODO: 在此處添加構(gòu)造函數(shù)邏輯
//
}
#region IHttpHandler 成員
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
//獲得請(qǐng)求的物理圖片路徑
string imagePath = context.Request.PhysicalPath;
System.Drawing.Image image = null;
if (File.Exists(imagePath))
{
//定義水印文字
string text = "本圖片來(lái)至我的網(wǎng)站";
//定義水印文字字體大小
int fontSize = 22;
//水印文字字體
Font font = new Font("宋體", fontSize);
//根據(jù)圖片物理地址加載圖片
image = System.Drawing.Image.FromFile(imagePath);
Graphics g = Graphics.FromImage(image);
//獲取要繪制水印文字所需要的顯示區(qū)域大小
SizeF size = g.MeasureString(text, font);
if (size.Width > image.Width || size.Height > image.Height)
{
}
else
{
Brush brush = Brushes.Red;
g.DrawString(text, font, brush, image.Width - size.Width, image.Height - size.Height);
g.Dispose();
}
}
else
{
}
image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
}
#endregion
}
2. 配置WebConfig,添加Location新節(jié)點(diǎn)
<location path="images"> <system.web> <httpHandlers> <!---對(duì)jpg文件添加水印--> <add verb="*" type="ImageSY" path="*.jpg"/> <add verb="*" type="ImageSY" path="*.gif"/> <add verb="*" type="ImageSY" path="*.bmp"/> </httpHandlers> </system.web> </location>
3. 測(cè)試,新建aspx頁(yè)面,顯示圖片,水印就會(huì)自動(dòng)加上了
更多關(guān)于asp.net相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《asp.net操作json技巧總結(jié)》、《asp.net字符串操作技巧匯總》、《asp.net操作XML技巧總結(jié)》、《asp.net文件操作技巧匯總》、《asp.net ajax技巧總結(jié)專題》及《asp.net緩存操作技巧總結(jié)》。
希望本文所述對(duì)大家asp.net程序設(shè)計(jì)有所幫助。
- 如何在ASP.NET Core中給上傳圖片功能添加水印實(shí)例代碼
- ASP.NET百度Ueditor編輯器實(shí)現(xiàn)上傳圖片添加水印效果
- Asp.net開(kāi)發(fā)之webform圖片水印和圖片驗(yàn)證碼的實(shí)現(xiàn)方法
- ASP.NET簡(jiǎn)單好用功能齊全圖片上傳工具類(水印、縮略圖、裁剪等)
- Asp.net簡(jiǎn)單實(shí)現(xiàn)給圖片增加文字水印
- asp.net如何在圖片上加水印文字具體實(shí)現(xiàn)
- asp.net上傳圖片并作處理水印與縮略圖的實(shí)例代碼
- ASP.NET 圖片加水印防盜鏈實(shí)現(xiàn)代碼
- asp.net中上傳圖片文件實(shí)現(xiàn)防偽圖片水印并寫(xiě)入數(shù)據(jù)庫(kù)
- ASP.NET實(shí)現(xiàn)圖片自動(dòng)添加水印
相關(guān)文章
asp.net程序優(yōu)化 盡量減少數(shù)據(jù)庫(kù)連接操作
最近做一個(gè)項(xiàng)目,做的比較郁悶,現(xiàn)在把項(xiàng)目經(jīng)驗(yàn)總結(jié)在這里。項(xiàng)目的主要功能就是為第三方程序提供數(shù)據(jù),并根據(jù)客戶端的調(diào)用提供數(shù)據(jù)更新。我的程序?qū)儆诜?wù)端。服務(wù)端以站點(diǎn)形式部署,以Xml的數(shù)據(jù)格式輸出2012-05-05
ASP.NET開(kāi)源導(dǎo)入導(dǎo)出庫(kù)Magicodes.IE完成Csv導(dǎo)入導(dǎo)出的方法
這篇文章主要介紹了ASP.NET開(kāi)源導(dǎo)入導(dǎo)出庫(kù)Magicodes.IE完成Csv導(dǎo)入導(dǎo)出的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
在ASP.NET Core中應(yīng)用HttpClient獲取數(shù)據(jù)和內(nèi)容
這篇文章主要介紹了在ASP.NET Core中集成和使用HttpClient獲取數(shù)據(jù)和內(nèi)容,幫助大家更好的理解和學(xué)習(xí)使用ASP.NET Core,感興趣的朋友可以了解下2021-03-03
在ASP.NET Core中實(shí)現(xiàn)一個(gè)Token base的身份認(rèn)證實(shí)例
以前在web端的身份認(rèn)證都是基于Cookie | Session的身份認(rèn)證,本篇文章主要介紹了在ASP.NET Core中實(shí)現(xiàn)一個(gè)Token base的身份認(rèn)證實(shí)例,有興趣的可以了解一下。2016-12-12
asp.net實(shí)現(xiàn)圖片以二進(jìn)制流輸出的兩種方法
這篇文章主要介紹了asp.net實(shí)現(xiàn)圖片以二進(jìn)制流輸出的兩種方法,以簡(jiǎn)單實(shí)例形式分析了asp.net實(shí)現(xiàn)以二進(jìn)制流形式讀寫(xiě)圖片文件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-12-12
Abp集成HangFire開(kāi)源.NET任務(wù)調(diào)度框架
這篇文章主要為大家介紹了Abp集成HangFire開(kāi)源.NET任務(wù)調(diào)度框架的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04

