這些天研究了一下ASP的自動添加圖片水印的方法。
因為原先我的圖片總是被盜鏈,因此我使用程序將圖片增加了水印,然而我查看了一下昨天和今天的網站日志記錄,發現我的圖片依舊被盜鏈嚴重。
兩天的時間,我的博客就有20多G的訪問流量,圖片所在的目錄upload占用了18.6G,37萬次點擊,而文章所在目錄只用了1.3G流量,4萬次點擊,從來源看,以大站盜鏈的圖片所占流量最大,CSDN和BOKEE占前兩位,這兩個地址一共帶來4萬多次盜鏈。
當然,如果徹底防止盜鏈,我以前也想過使用類似ISAPI Rewrite的程序來實現,但實際使用後,我發現ISAPI Rewrite將所有的外部鏈接全部都禁止了,但是我並不想禁用全部外部鏈接,因此還是最終沒有使用,不過如果現在這種盜鏈情況繼續進行的話,我不得不考慮重新啟用ISAPI Rewrite這個程序了。
下面是我使用程序來增加水印的方法,雖然以我目前的使用效果看,是比較失敗的案例。
增加水印使用的是一個名叫ASPJPEG的ASP組件,我是在OBlog的網站上下載的,版本是1.5版本,使用這個圖象處理組件,可以輕松地做出圖片的縮略圖和為圖片加上水印功能。下面簡單介紹一下使用方法:
先要到Oblog的下載頁面上,在“OBLOG相關組件下載”處,下載ASPJpeg v1.5.0.0,然後執行下載得到的文件,安裝該組件。
然後在ASP代碼裡增加一點點代碼即可,增加的位置可以放在上傳圖片完成後,取得圖片地址,進行修改。對於Z-Blog的使用者,直接將下面代碼復制到c_system_lib.ASP文件的TUpLoadFile類中的Upload函數的結尾即可實現水印功能。
1、為圖片加入水印功能
Dim Jpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg") ' 建立對象
Jpeg.Open BlogPath & "/upload/" & FileName ' 圖片所在位置
Jpeg.Canvas.Font.Color = &H000000 ' 顏色,這裡是設置成:黑
Jpeg.Canvas.Font.Family = "方正隸變簡體" ' 設置字體
Jpeg.Canvas.Font.Bold = False '是否設置成粗體
Jpeg.Canvas.Font.Size = 26 '字體大小
Jpeg.Canvas.Font.Quality = 4 ' 文字清晰度
Jpeg.Canvas.PRint Jpeg.OriginalWidth/2-170,Jpeg.OriginalHeight-30, "WWW.WILLIAMLONG.INFO" '水印文字
Jpeg.Save BlogPath & "/upload/" & FileName ' 保存文件
Set Jpeg = Nothing
2、為圖片制作縮略圖
Dim Jpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg") ' 建立對象
Jpeg.Open BlogPath & "/upload/" & FileName ' 圖片所在位置
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2
' 設置縮略圖大小(這裡比例設定為50%),也可以給他准確的數值,比如Jpeg.Width=120
Jpeg.Save BlogPath & "/upload/" & FileName ' 保存文件
Set Jpeg = Nothing