• ASp使用AspJpeg组件制作透明文字水印

  • 黑蚂蚱 于 2011/4/3 13:36:37 3158 次浏览 1 参与讨论
<%
LocalFile="d:\apple.jpg"
TargetFile="d:\myapple.jpg"
Dim Jpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")
If Err.Number=-2147221005 then
Response.write "没有这个组件,请安装!"'检查是否安装AspJpeg组件
Response.End()
End If
Jpeg.Open (LocalFile)'打开图片
If err.number then
Response.write"打开图片失败,请检查路径!"
Response.End()
End if
Dim TempA '原始图片的二进制数据
Dim TempB '加了不透明文字水印的图片
Dim TempC '最终效果
TempA=Jpeg.Binary'将原始数据赋给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'输出质量
Jpeg.Canvas.PrintText Jpeg.OriginalWidth/2-150,Jpeg.OriginalHeight/2,"www.Tsingfeng.com"'水印位置及文字
TempB=Jpeg.Binary'将文字水印处理后的值赋给TempB,这时,文字水印没有不透明度
'============调整文字透明度================
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.3是透明度
TempC=MyJpeg.Binary'将最终结果赋值给TempC,这时也可以生成目标图片了
response.BinaryWrite TempC'将二进输出给浏览器
MyJpeg.Save (TargetFile)
set TempA=nothing
set TempB=nothing
set TempC=nothing
Jpeg.close
MyJpeg.Close
Logo.Close
%>

参与讨论 1人

回复
  • 回复 2011/7/17 5:49:24 . cmq5186 2楼
  • 黑蚂蚱兄,请问AspJpeg组件是要安装在哪??网站空间里还是电脑上,或是空间商那?

    我的网站水印一直无法使用,不知是何缘故,我也参照了网站上经验分享处的水印设置帖子,但仍然无法起效,若有时间,麻烦抽空帮我诊断下。

    谢谢!

    我的网站是www.xmgreat.com,谢谢!

  • 添加一条新的回复

    返回列表
  • 验证码: 验证码
  • HI,欢迎来到SEMCMS外贸网站管理系统
  • 注册 登录
  • SEMCMS公众号扫一扫加关注
    及时了解系统更新情况
  • SEMCMS公众号扫一扫加关注