最近更新,PJBLOG打水印插件,该插件需要服务器支持ASPJPEG组件。
使用该插件,需要你的images文件夹下面有一个wind.png文件,宽度和高度为150*66px,可以根据需要更改相关代码为你所需要的。
废话少说,看代码。当然你也可以把附件直接覆盖到你的PJBLOG中。前提是你的版本是pjblog 2.6并且该文件没有被更改过。
点击下载此文件
用记事本或者其它文本编辑工具也行打开根目录 attachment.asp文件:
找到 55行,修改其中代码如下:
(其中红色部分为修改代码)
Else
F_File.SaveAs Server.MapPath("attachments/"&D_Name&"/"&F_Name)
If UCase(F_Type) = "JPG" or UCase(F_Type) = "JPEG" or UCase(F_Type) = "PNG" or UCase(F_Type) = "BMP" or UCase(F_Type) = "GIF" Then
If sy <> "" And IsNumeric(sy) Then
Call CreateView("attachments/"&D_Name&"/"&F_Name,sy)
End If
End If
response.write "<script>addUploadItem('"&F_Type&"','attachments/"&D_Name&"/"&F_Name&"',"&Request.QueryString("MSave")&")</script>"
Response.Write("<div style=""padding:6px""><a href='attachment.asp'>文件上传成功,请返回继续上传</a></div>")
End IF
再找到如下代码更改为:(其中红色部分为修改代码)
Response.Write("<form name=""frm"" enctype=""multipart/form-data"" method=""post"" action=""attachment.asp?action=upload&MSave=0""><input name=""File"" type=""File"" size=""28"" style=""font-size:12px;border-width:1px""> <input type=""Submit"" name=""Submit"" value=""确定上传"" class=""userbutton""><input type=""checkbox"" name=""MemberDown"" value=""1"" id=""Md"" onclick=""MSave(this)"" title=""只对UBB编辑有效,媒体文件包括图片无效""/><label for=""Md"" title=""只对UBB编辑有效,媒体文件包括图片无效"">此文件只允许会员下载 </label> <select name=""sy""><option selected>无水印</option><option value=""1"">文字水印</option><option value=""2"">图片水印</option></select></form>")
End IF
Else
Response.Write("<div style=""padding:6px;color:#f00"">对不起,你没有权限上传附件!</div>")
End If
'######################################################################
' 函数名:CreateView
' 作用:图片打水印,可以选择文字或图片水印
' 属性:
' imgName:图片名称;
' mode: 1为文字水印,2为图片水印;
' Last Modify : 10/26/2006
' Created by 清风 QQ: 110125707 MSN: anwellsz@msn.com blog.wind88.net
'######################################################################
Sub CreateView(imgName,mode)
'默认为文字水印
If mode = "" or Not IsNumeric(mode) Then mode = 1
On Error Resume Next
Dim Jpeg
Dim Logobox,LogoPath
Set Jpeg = Server.CreateObject("Persits.Jpeg")
If -2147221005=Err then
Response.write "没有这个组件,请安装!" '检查是否安装AspJpeg组件
Response.End()
End If
Dim x,y
If mode = 2 Then '图片水印
LogoPath = Server.MapPath("/images/wind.png") '//加入图片所在路径及文件名
Set Logobox = Server.CreateObject("Persits.Jpeg")
Logobox.Open LogoPath
'//重新设置图片的大小
Logobox.Width = 150 '// 加入图片的原宽度
Logobox.Height = 66 '// 加入图片的原高度
'*添加水印图片*
Jpeg.Open Trim(Server.MapPath(imgName))
If Jpeg.OriginalWidth<Cint(Logobox.Width) or Jpeg.Originalheight<Cint(Logobox.Height) Then
imgName=""
Set Jpeg = Nothing
Exit Sub
Else
Jpeg.Canvas.Pen.Color = &HFFFFFF '// 边框的颜色
Jpeg.Canvas.Pen.Width = 0 '// 边框的粗细
Jpeg.Canvas.Brush.Solid = False '// 图片边框内是否填充颜色
Jpeg.DrawImage Jpeg.OriginalWidth-160, Jpeg.OriginalHeight-70, Logobox, 0.8, &HFFFFFF '// 加入图片的位置价坐标(添加水印图片)
Jpeg.Canvas.Bar 0, 0, Jpeg.Width, Jpeg.Height '// 图片边框线的位置坐标
Jpeg.Width = Jpeg.Width
Jpeg.height = Jpeg.height
Jpeg.Sharpen 1, 120
Jpeg.Save Server.MapPath(imgName) '// 生成预览文件
Logobox.close : Set Logobox=Nothing
Jpeg.close : Set Jpeg = Nothing
End If
Else '文字水印
Jpeg.Open Server.MapPath(imgName) '打开图片
If err.number then
Response.write"打开图片失败,请检查路径!"
Response.End()
End if
Dim aa,MyJpeg,Logo,bb
aa=Jpeg.Binary '将原始数据赋给aa
'=========加文字水印=================
Jpeg.Canvas.Font.Color = &Hfffffff '水印文字颜色
Jpeg.Canvas.Font.Family = Arial '字体
Jpeg.Canvas.Font.Bold = True '是否加粗
Jpeg.Canvas.Font.Size = 28 '字体大小
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-195,Jpeg.OriginalHeight-30,"www.wind88.net" '水印位置及文字
bb=Jpeg.Binary '将文字水印处理后的值赋给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.6 '0.6是透明度
MyJpeg.Save Server.MapPath(imgName)
set aa=nothing
set bb=nothing
Jpeg.close
MyJpeg.Close
Logo.Close
End If
End Sub
%>