zblog上傳圖片自動添加水印的實現方法

 方法很簡單,直接把代碼複製到相關文件即可,不過此方法需要aspjpeg組件的支持才行!
具體的方法如下:
一、打開 FUNCTION 文件夾下的 c_system_lib.asp 文件
二、在文件中搜索:UpLoad=True ,再其前面添加以下代碼:
If CheckRegExp(LCase(FileName),"jpg|gif|bmp|png") Then
Dim Jpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open BlogPath & "/" & ZC_UPLOAD_DIRECTORY  &  "/"  & FileName  ' 圖片所在位置
 
Dim aa
aa=Jpeg.Binary '將原始數據賦給aa
'=========加文字水印=================
Jpeg.Canvas.Font.Color = &Hfffffff '水印文字顏色
Jpeg.Canvas.Font.Family = "Arial" '字體
Jpeg.Canvas.Font.Bold = True '是否加粗
Jpeg.Canvas.Font.Size = 24 '字體大小
Jpeg.Canvas.Font.ShadowColor = &H000000 '陰影色彩
Jpeg.Canvas.Font.ShadowYOffset = 1
Jpeg.Canvas.Font.ShadowXOffset = 1
Jpeg.Canvas.Brush.Solid = True
Jpeg.Canvas.Font.Quality = 4   '輸出質量
Jpeg.Canvas.PrintText Jpeg.OriginalWidth/2-100,Jpeg.OriginalHeight/2+20,"www.5iadmin.com" '水印位置及文字
bb=Jpeg.Binary '將文字水印處理後的值賦給bb,這時,文字水印沒有不透明度
 
'============調整文字透明度================
dim MyJpeg
Dim Logo
dim bb
Set MyJpeg = Server.CreateObject("Persits.Jpeg")
MyJpeg.OpenBinary aa
Set Logo = Server.CreateObject("Persits.Jpeg")
Logo.OpenBinary bb
MyJpeg.DrawImage 0,0, Logo, 0.2 '0.3是透明度
MyJpeg.Save BlogPath & "/" & ZC_UPLOAD_DIRECTORY & "/" & FileName  ' 保存文件
set aa=nothing
set bb=nothing
Jpeg.close
MyJpeg.Close
Logo.Close
END IF
因爲AspJpeg組件不支持文字的透明效果,這裏的思路簡單的可以概括爲將文字先處理成圖片水印,然後與原圖融合起來。
 
小王又做了一些修改:
 
If CheckRegExp(LCase(FileName),"jpg|gif|bmp|png") Then
Dim Jpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open BlogPath & "/" & ZC_UPLOAD_DIRECTORY  &  "/"  & FileName  ' 圖片所在位置
 
Dim aa
aa=Jpeg.Binary '將原始數據賦給aa
'=========加文字水印=================
Jpeg.Canvas.Font.Color = &H000000 '水印文字顏色
Jpeg.Canvas.Font.Family = "Arial" '字體
Jpeg.Canvas.Font.Size = 22 '字體大小
Jpeg.Canvas.Brush.Solid = True
Jpeg.Canvas.Font.Quality = 4   '輸出質量
Jpeg.Canvas.PrintText Jpeg.OriginalWidth-170,Jpeg.OriginalHeight-20,"www.5iadmin.com" '水印位置及文字
bb=Jpeg.Binary '將文字水印處理後的值賦給bb,這時,文字水印沒有不透明度
 
'============調整文字透明度================
dim MyJpeg
Dim Logo
dim bb
Set MyJpeg = Server.CreateObject("Persits.Jpeg")
MyJpeg.OpenBinary aa
Set Logo = Server.CreateObject("Persits.Jpeg")
Logo.OpenBinary bb
MyJpeg.DrawImage 0,0, Logo, 1 '0.3是透明度
MyJpeg.Save BlogPath & "/" & ZC_UPLOAD_DIRECTORY & "/" & FileName  ' 保存文件
set aa=nothing
set bb=nothing
Jpeg.close
MyJpeg.Close
Logo.Close
END IF
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章