最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net中水印的具體實(shí)現(xiàn)代碼

 更新時(shí)間:2013年10月04日 16:18:36   作者:  
這篇文章介紹了asp.net中水印的具體實(shí)現(xiàn)代碼,有需要的朋友可以參考一下

水印是為了防止別盜用我們的圖片.

兩種方式實(shí)現(xiàn)水印效果

1)可以在用戶上傳時(shí)添加水印.

a)   好處:與2種方法相比,用戶每次讀取此圖片時(shí),服務(wù)器直接發(fā)送給客戶就行了.

b)   缺點(diǎn):破壞了原始圖片.

2)通過全局的一般處理程序,當(dāng)用戶請求這張圖片時(shí),加水印.

a)   好處:原始圖片沒有被破壞

b)   缺點(diǎn):用戶每次請求時(shí)都需要對請求的圖片進(jìn)行加水印處理,浪費(fèi)的服務(wù)器的資源.

代碼實(shí)現(xiàn)第二種方式:

復(fù)制代碼 代碼如下:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Web;  
using System.Drawing;  
using System.IO;  

namespace BookShop.Web  
{  
    public class WaterMark : IHttpHandler  
    {  

        private const string WATERMARK_URL = "~/Images/watermark.jpg";        //水印圖片  
        private const string DEFAULTIMAGE_URL = "~/Images/default.jpg";<span style="white-space:pre">   </span>      //默認(rèn)圖片  
        #region IHttpHandler 成員  

        public bool IsReusable  
        {  
            get { return false; }  
        }  

        public void ProcessRequest(HttpContext context)  
        {  

            //context.Request.PhysicalPath  //獲得用戶請求的文件物理路徑  

            System.Drawing.Image Cover;  
            //判斷請求的物理路徑中,是否存在文件  
            if (File.Exists(context.Request.PhysicalPath))  
            {  
                //加載文件  
                Cover = Image.FromFile(context.Request.PhysicalPath);  
                //加載水印圖片  
                Image watermark = Image.FromFile(context.Request.MapPath(WATERMARK_URL));  
            //通過書的封面得到繪圖對像  
                Graphics g = Graphics.FromImage(Cover);  
                //在image上繪制水印  
                g.DrawImage(watermark, new Rectangle(Cover.Width - watermark.Width, Cover.Height - watermark.Height,   
[csharp] view plaincopy
watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, GraphicsUnit.Pixel);  
                //釋放畫布  
                g.Dispose();  
                //釋放水印圖片  
                watermark.Dispose();  
            }  
            else 
            {  
                //加載默認(rèn)圖片  
                Cover = Image.FromFile(context.Request.MapPath(DEFAULTIMAGE_URL));  
            }  
            //設(shè)置輸出格式  
            context.Response.ContentType = "image/jpeg";  
            //將圖片存入輸出流  
            Cover.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);  
            Cover.Dispose();  
            context.Response.End();  
        }  

        #endregion  
    }  
}

相關(guān)文章

  • ASP.NETCore6開啟文件服務(wù)允許通過url訪問附件的操作方法

    ASP.NETCore6開啟文件服務(wù)允許通過url訪問附件的操作方法

    最近在做一個(gè)工作臺(tái)的文件上傳下載功能,主要想實(shí)現(xiàn)上傳圖片之后,可以通過url直接訪問,由于url直接訪問文件不安全,所以需要手動(dòng)開啟文件服務(wù),這篇文章主要介紹了ASP.NETCore6開啟文件服務(wù)允許通過url訪問附件,需要的朋友可以參考下
    2023-11-11
  • Asp.net操作Excel更輕松的實(shí)現(xiàn)代碼

    Asp.net操作Excel更輕松的實(shí)現(xiàn)代碼

    今天先介紹一個(gè)關(guān)于導(dǎo)出數(shù)據(jù)的例子,以Excel為模板。直接進(jìn)入正題了
    2011-10-10
  • ASP.NET Core 奇淫技巧之偽屬性注入的實(shí)現(xiàn)

    ASP.NET Core 奇淫技巧之偽屬性注入的實(shí)現(xiàn)

    這篇文章主要介紹了ASP.NET Core 奇淫技巧之偽屬性注入的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 如何利用擴(kuò)展方法來鏈?zhǔn)降膶VC 3中的頁面進(jìn)行驗(yàn)證

    如何利用擴(kuò)展方法來鏈?zhǔn)降膶VC 3中的頁面進(jìn)行驗(yàn)證

    雖然擴(kuò)展方法只是改變了我們寫代碼的方式,但是如果我們使用得當(dāng),可以給我們帶來巨大的編碼效率的提升接下來介紹通過擴(kuò)展方法(鏈?zhǔn)椒椒ǎ镸VC 3視圖添加驗(yàn)證
    2013-01-01
  • ASP.NET MVC使用ActionFilterAttribute實(shí)現(xiàn)權(quán)限限制的方法(附demo源碼下載)

    ASP.NET MVC使用ActionFilterAttribute實(shí)現(xiàn)權(quán)限限制的方法(附demo源碼下載)

    這篇文章主要介紹了ASP.NET MVC使用ActionFilterAttribute實(shí)現(xiàn)權(quán)限限制的方法,結(jié)合實(shí)例形式分析了ASP.NET MVC使用ActionFilterAttribute過濾類實(shí)現(xiàn)權(quán)限限制的步驟與相關(guān)技巧,并附帶demo源碼供讀者下載,需要的朋友可以參考下
    2016-04-04
  • .Net使用日志框架NLog

    .Net使用日志框架NLog

    這篇文章介紹了.Net使用日志框架NLog的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Asp.net 頁面調(diào)用javascript變量的值

    Asp.net 頁面調(diào)用javascript變量的值

    開發(fā)過程中碰到了這種情況,我想將javascript中定義的變量賦值給頁面中的TextBox控件.
    2009-12-12
  • .NET Windbg分析某婦產(chǎn)醫(yī)院WPF內(nèi)存溢出

    .NET Windbg分析某婦產(chǎn)醫(yī)院WPF內(nèi)存溢出

    這篇文章主要為大家介紹了.NET  Windbg分析某婦產(chǎn)醫(yī)院WPF內(nèi)存溢出,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • asp.net 大文件上傳控件

    asp.net 大文件上傳控件

    這段時(shí)間寫了個(gè)asp.net 上傳大文件控件。經(jīng)過測試,在ie中可顯示進(jìn)度條。特此共享,望廣大網(wǎng)友多提意見。
    2008-12-12
  • asp.net 防止SQL注入攻擊

    asp.net 防止SQL注入攻擊

    asp.net網(wǎng)站防止SQL注入攻擊,通常的辦法是每個(gè)文件都修改加入過濾代碼,這樣很麻煩,下面介紹一種辦法,可以從整個(gè)網(wǎng)站防止注入。
    2009-06-06

最新評論

安陆市| 沙坪坝区| 郓城县| 凤凰县| 龙岩市| 凯里市| 磴口县| 长岛县| 犍为县| 萝北县| 炎陵县| 金昌市| 兴隆县| 闵行区| 长沙市| 万盛区| 凤翔县| 游戏| 赞皇县| 龙山县| 长乐市| 凭祥市| 社会| 鄂尔多斯市| 光山县| 宜春市| 蓬莱市| 大庆市| 叶城县| 福泉市| 安庆市| 察雅县| 揭阳市| 敦化市| 江都市| 闸北区| 边坝县| 缙云县| 大埔县| 灯塔市| 美姑县|