月光博客

青青子衿, 悠悠我心, 但为君故, 沉吟至今

« 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/ ]

本文链接地址:http://www.williamlong.info/archives/539.html
  • 文章排行:
  • Blog的“人身安全”(引用)
  • Dgwxx 的猫窝
  • 今天晚上闲着没事,又修改了一下Waki-Blog。本次修改主旨在于提高前台程序的执行效率。首先分离了前台和后台的语言包文件,为Waki-Blog的前台远比后台来的简单,所以需要的语言包的数量比较少,为前台专门做一个语言包可以快前台的程序载速度。由于Waki-Blog程序结构的原,PHP代与语言、模板完全分离(PHP代中看不到一个字、一点HTML代,当然,BBCDOE解析除外),所以程序更依赖于语言包和模板,要提高效率,只要从语言包和模板入手即可。此外还调整了用户身份验证部分。只在后台的时候才验证...
  • 2006-6-22 20:58:58
  • 1.硫酸铜
  • 呵呵,这样断了一些人财路了。
  • 2006-6-21 21:17:01   回复该留言
  • 2.PeriCHR
  • 满不错的,不过可不可以把这个应用到转接网易相册的那个asp里面?
  • 2006-6-21 23:55:27   回复该留言
  • 5.supermarrio
  • 呵呵,看起来这个方法应该可行的
  • 2006-6-23 15:45:21   回复该留言
  • 7.莫言
  • o-blog的连接已经失效 改成http://www.31896.net/download/AspJpge1.6.zip吧是1.6版的,里面有SN
  • 2006-8-5 15:46:04   回复该留言
  • 8.yru
  • 怎么没效果呢,我的空间只是aspjpeg1.3,照楼主修改后没水印。

    另外楼主能不能详细说一下到底加在哪段代码后面
  • 2006-8-5 17:56:14   回复该留言
  • 10.yru
  • 搞不好,楼主干吗不放一个改好的文件出来提供下载?
  • 2006-8-5 20:52:32   回复该留言
  • 11.tanguan
  • 高不了插件楼主也搞一个改好的文件发出来吧,有人成功了吗?

    1.6的怎么改? 1.5的又怎么改? 发个文件供下载比说什么都强啊
  • 2006-8-6 8:37:57   回复该留言
  • 12.好文章
  • 这篇文章不错,可以很好的学习学习一下!
  • 2006-11-16 22:53:26   回复该留言
  • 13.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   回复该留言
  • 16.hixifo
  • 94868.com
  • 会出现ntfs目录访问权限的问题,需要手动设置安装目录对Everyone有访问权限。
  • 2007-7-5 10:22:06   回复该留言
  • 17.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   回复该留言
  • 18.shfengyi
  • aspjpeg加图片水印,如果是透明的,效果很差的
  • 2009-6-3 17:13:03   回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过电子邮件订阅本站

站内搜索

热文排行

最新评论及回复

最近发表

网站收藏

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.

This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.