1、aspjpeg能對(duì)圖片水印進(jìn)行透明度調(diào)整,不能對(duì)文字水印調(diào)整。
2、aspjpeg支持Binary,可以Jpeg.OpenBinary讀取,可以Jpeg.sendBinary,也可Jpeg.Binary賦值。
思路:
1、把原始的圖片數(shù)據(jù)二進(jìn)制度賦值給TempA。
2、將文字水印處理后的圖片數(shù)據(jù)二進(jìn)制賦值給TempB。
3、以TempB作為“圖片水印”,附加在TempA上,調(diào)整透明度,輸出就OK了。
思路很簡單,代碼也很簡單:
<% LocalFile="e:\logo.jpg" TargetFile="e:\mylogo.jpg" Dim Jpeg Set Jpeg = Server.CreateObject("Persits.Jpeg") If Err.Number=-2147221005 then Response.write "沒有這個(gè)組件,請(qǐng)安裝!" '檢查是否安裝AspJpeg組件 Response.End() End If Jpeg.Open (LocalFile) '打開圖片 If err.number then Response.write "打開圖片失敗,請(qǐng)檢查路徑!" Response.End() End if Dim TempA '原始圖片的二進(jìn)制數(shù)據(jù) Dim TempB '加了不透明文字水印的圖片 Dim TempC '最終效果 TempA=Jpeg.Binary'將原始數(shù)據(jù)賦給TempA '=========加文字水印================= Jpeg.Canvas.Font.Color = &Hfffffff '水印文字顏色 Jpeg.Canvas.Font.Family = Arial '字體 Jpeg.Canvas.Font.Bold = True '是否加粗 Jpeg.Canvas.Font.Size = 35 '字體大小 Jpeg.Canvas.Font.ShadowColor = &H000000 '陰影色彩 Jpeg.Canvas.Font.ShadowYOffset = 1 Jpeg.Canvas.Font.ShadowXOffset = 1 Jpeg.Canvas.Brush.Solid = True Jpeg.Canvas.Font.Quality = 5 '輸出質(zhì)量 Jpeg.Canvas.PrintText Jpeg.OriginalWidth/2-150,Jpeg.OriginalHeight/2,"www.zzsky.cn" '水印位置及文字 TempB=Jpeg.Binary '將文字水印處理后的值賦給TempB,這時(shí),文字水印沒有不透明度 '============調(diào)整文字透明度================ Set MyJpeg = Server.CreateObject("Persits.Jpeg") MyJpeg.OpenBinary TempA Set Logo = Server.CreateObject("Persits.Jpeg") Logo.OpenBinary TempB MyJpeg.DrawImage 0, 0, Logo, 0.2 '0.2是透明度 TempC=MyJpeg.Binary '將最終結(jié)果賦值給TempC,這時(shí)也可以生成目標(biāo)圖片了 response.BinaryWrite TempC '將二進(jìn)輸出給瀏覽器 MyJpeg.Save (TargetFile) set TempA=nothing set TempB=nothing set TempC=nothing Jpeg.close MyJpeg.Close Logo.Close %> |
留言反饋