青青子衿, 悠悠我心, 但为君故, 沉吟至今
« FeedBurner出现乱码错误深圳欢乐谷游记 »

使用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



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/539.html
  • 文章排行:
  • 1.硫酸铜
  • 呵呵,这样断了一些人财路了。
  • 2006/6/21 21:17:01   支持(25)反对(8) 回复
  • 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
  • 2008/3/3 9:34:56   支持(7)反对(3) 回复
  • 5.PeriCHR
  • 满不错的,不过可不可以把这个应用到转接网易相册的那个asp里面?
  • 2006/6/21 23:55:27   支持(9)反对(6) 回复
  • 6.tanguan
  • 高不了插件楼主也搞一个改好的文件发出来吧,有人成功了吗?

    1.6的怎么改? 1.5的又怎么改? 发个文件供下载比说什么都强啊
  • 2006/8/6 8:37:57   支持(8)反对(5) 回复
  • 7.hixifo
  • 会出现ntfs目录访问权限的问题,需要手动设置安装目录对Everyone有访问权限。
  • 2007/7/5 10:22:06   支持(9)反对(6) 回复
  • 8.大山
  • 这篇文章不错,可以很好的学习学习一下!前两天我也转你几篇文章,很有启发。谢谢
  • 2010/12/28 14:21:26   支持(8)反对(5) 回复
  • 9.aw
  • CSDN和BOKEE ... 看来用户太多了^^
  • 2006/6/22 22:51:09   支持(9)反对(7) 回复
  • 10.supermarrio
  • 呵呵,看起来这个方法应该可行的
  • 2006/6/23 15:45:21   支持(6)反对(5) 回复
  • 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")%>
  • 2007/1/14 13:51:09   支持(8)反对(8) 回复
  • 12.yru
  • 怎么没效果呢,我的空间只是aspjpeg1.3,照楼主修改后没水印。

    另外楼主能不能详细说一下到底加在哪段代码后面
  • 2006/8/5 17:56:14   支持(5)反对(7) 回复
  • 13.好文章
  • 这篇文章不错,可以很好的学习学习一下!
  • 2006/11/16 22:53:26   支持(7)反对(9) 回复
  • 16.路過的
  • 其實用軟件的方法最簡單了
  • 2010/12/28 10:39:01   支持(6)反对(9) 回复
  • 17.yru
  • 搞不好,楼主干吗不放一个改好的文件出来提供下载?
  • 2006/8/5 20:52:32   支持(6)反对(10) 回复
  • 18.shfengyi
  • aspjpeg加图片水印,如果是透明的,效果很差的
  • 2009/6/3 17:13:03   支持(6)反对(10) 回复
  • 19.巫术时代
  • Z-BLOG 1.8 错误原因:未知错误
  • 2011/1/9 0:17:50   支持(7)反对(12) 回复
  • 20.williamlong
  • 请使用1.5版本的组件,代码加在TUpLoadFile类中的Upload函数的结尾即可。
  • 2006/8/5 18:00:07   支持(3)反对(9) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.