月光博客 » 网站建设 » 使用ASPJPEG添加水印的方法

使用ASPJPEG添加水印的方法

  这些天研究了一下ASP的自动添加图片水印的方法。

  因为原先我的图片总是被盗链,因此我使用程序将图片增加了水印,然而我查看了一下昨天和今天的网站日志记录,发现我的图片依旧被盗链严重。

  两天的时间,我的博客就有20多G的访问流量,图片所在的目录upload占用了18.6G,37万次点击,而文章所在目录只用了1.3G流量,4万次点击,从来源看,以大站盗链的图片所占流量最大,CSDN和BOKEE占前两位,这两个地址一共带来4万多次盗链。

  当然,如果彻底防止盗链,我以前也想过使用类似ISAPI Rewrite的程序来实现,但实际使用后,我发现ISAPI Rewrite将所有的外部链接全部都禁止了,但是我并不想禁用全部外部链接,因此还是最终没有使用,不过如果现在这种盗链情况继续进行的话,我不得不考虑重新启用ISAPI Rewrite这个程序了。

  下面是我使用程序来增加水印的方法,虽然以我目前的使用效果看,是比较失败的案例。

  增加水印使用的是一个名叫ASPJPEG的ASP组件,我是在OBlog的网站上下载的,版本是1.5版本,使用这个图象处理组件,可以轻松地做出图片的缩略图和为图片加上水印功能。下面简单介绍一下使用方法:

  先要到Oblog的下载页面上,在“OBLOG相关组件下载”处,下载AspJpeg v1.5.0.0,然后执行下载得到的文件,安装该组件。

  然后在ASP代码里增加一点点代码即可,增加的位置可以放在上传图片完成后,取得图片地址,进行修改。对于Z-Blog的使用者,直接将下面代码复制到c_system_lib.asp文件的TUpLoadFile类中的Upload函数的结尾即可实现水印功能。

  1、为图片加入水印功能

Dim Jpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")  ' 建立对象
Jpeg.Open BlogPath & "/upload/" & FileName  ' 图片所在位置
Jpeg.Canvas.Font.Color = &H000000 ' 颜色,这里是设置成:黑
Jpeg.Canvas.Font.Family = "方正隶变简体"  ' 设置字体
Jpeg.Canvas.Font.Bold = False '是否设置成粗体
Jpeg.Canvas.Font.Size = 26 '字体大小
Jpeg.Canvas.Font.Quality = 4 ' 文字清晰度
Jpeg.Canvas.Print Jpeg.OriginalWidth/2-170,Jpeg.OriginalHeight-30, "WWW.WILLIAMLONG.INFO"   '水印文字
Jpeg.Save BlogPath & "/upload/" & FileName  ' 保存文件
Set Jpeg = Nothing

  2、为图片制作缩略图

Dim Jpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")  ' 建立对象
Jpeg.Open BlogPath & "/upload/" & FileName  ' 图片所在位置
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2
' 设置缩略图大小(这里比例设定为50%),也可以给他准确的数值,比如Jpeg.Width=120
Jpeg.Save BlogPath & "/upload/" & FileName  ' 保存文件
Set Jpeg = Nothing

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    硫酸铜   说道:
    呵呵,这样断了一些人财路了。
    支持(25反对(8回复
  1. 2
    漫友   说道:
    .........试试看
    支持(11反对(5回复
  1. 3
    feisha102   说道:
    qq:
    372089812
    谢谢帮忙!
    支持(10反对(5回复
  1. 4
    ASP   说道:
    经过我的测试发现月光的程序好像有问题,我把生成缩略图的文件简单的给改了一下就可以了。

    Set Jpeg = Server.CreateObject("Persits.Jpeg") '创建实例
    Path = Server.MapPath(BlogPath & "/upload/" & FileName) '处理图片路径
    Jpeg.Open Path '打开图片
    '调整宽度和高度为原来的50%
    Jpeg.Width = Jpeg.OriginalWidth / 2
    Jpeg.Height = Jpeg.OriginalHeight / 2
    Jpeg.Save Server.MapPath(BlogPath & "/upload/" & FileName) '保存图片到磁盘
    Jpeg.Close:Set Jpeg = Nothing
    支持(7反对(3回复
  1. 5
    PeriCHR   说道:
    满不错的,不过可不可以把这个应用到转接网易相册的那个asp里面?
    支持(9反对(6回复
  1. 6
    tanguan   说道:
    高不了插件楼主也搞一个改好的文件发出来吧,有人成功了吗?

    1.6的怎么改? 1.5的又怎么改? 发个文件供下载比说什么都强啊
    支持(8反对(5回复
  1. 7
    hixifo   说道:
    会出现ntfs目录访问权限的问题,需要手动设置安装目录对Everyone有访问权限。
    支持(9反对(6回复
  1. 8
    大山   说道:
    这篇文章不错,可以很好的学习学习一下!前两天我也转你几篇文章,很有启发。谢谢
    支持(8反对(5回复
  1. 9
    aw   说道:
    CSDN和BOKEE ... 看来用户太多了^^
    支持(9反对(7回复
  1. 10
    supermarrio   说道:
    呵呵,看起来这个方法应该可行的
    支持(6反对(5回复
  1. 11
    feisha102   说道:
    请问如何使用和注册该组件,我用的是windows2003 ,vs.net 2003 ,dreamwaver,现在要asp中使用该组件:我下载的1.5安装后
    已将AspJpeg.dll 分别拷贝到windows ,system/以及system32 下
    注册:
    在开始-->运行:regsvr32 aspjpeg.dll

    提示成功,但是asp创建出错,<%Dim Jpeg
    Set Jpeg = Server.CreateObject("Persits.Jpeg")%>
    补充一点下面的代码能成功:
    <%Dim fso
    Set fso = Server.CreateObject("Scripting.FileSystemObject")%>
    支持(8反对(8回复
  1. 12
    yru   说道:
    怎么没效果呢,我的空间只是aspjpeg1.3,照楼主修改后没水印。

    另外楼主能不能详细说一下到底加在哪段代码后面
    支持(5反对(7回复
  1. 13
    好文章   说道:
    这篇文章不错,可以很好的学习学习一下!
    支持(7反对(9回复
  1. 14
    hixifo   说道:
    很好用,谢谢站长的分享!
    支持(6反对(8回复
  1. 15
    lhb5883   说道:
    可以缩小图片或者压缩图片
    支持(6反对(9回复
  1. 16
    路過的   说道:
    其實用軟件的方法最簡單了
    支持(6反对(9回复
  1. 17
    yru   说道:
    搞不好,楼主干吗不放一个改好的文件出来提供下载?
    支持(6反对(10回复
  1. 18
    shfengyi   说道:
    aspjpeg加图片水印,如果是透明的,效果很差的
    支持(6反对(10回复
  1. 19
    巫术时代   说道:
    Z-BLOG 1.8 错误原因:未知错误
    支持(7反对(12回复
  1. 20
    williamlong   说道:
    请使用1.5版本的组件,代码加在TUpLoadFile类中的Upload函数的结尾即可。
    支持(3反对(11回复

发表留言