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

-----------------------------------


如果您觉得上面的内容对您有帮助,可以打赏支持一下!

打赏