注册 登录
编程论坛 ASP技术论坛

ASP 怎么给图片统一加水印

guang2356447 发布于 2010-08-17 22:33, 1408 次点击
ASP 怎么给图片统一加水印

就是在图片的右下角   加上几个文字    统一用css控制   有好多图片从数据库中读取的   

怎么实现
9 回复
#2
gupiao1752010-08-18 18:19
在百度上找不到相关资料吗。水印代码自己写是很难的,很复杂!一般都是用前辈写好的,除非你在这个领域有很深的研究!
#3
icecool2010-08-18 21:18
要用到组件的吧,ASPJPEG
#4
gupiao1752010-08-18 21:33
有组件的也有非组件的,一般都是组件!代码有点类似于ASP图形验证!反正那些十六进制和位操作什么的天书代码,我是看不懂!
#5
funky2010-08-19 11:37
楼上的,不用组件能实现?? 果然是高手.
#6
gupiao1752010-08-19 19:12
以下是引用funky在2010-8-19 11:37:55的发言:

楼上的,不用组件能实现?? 果然是高手.

不好意思,我搞错了,没有组件的在ASP里确实没有这方面的资料!
如果我能写出来,我就不在这个论坛混了。哈哈!
不过呢,我想如果能把验证图片代码的技术,如果能深入了解,应该可以把它应用到水印上来!
可惜我是菜鸟,我不会!
#7
gupiao1752010-08-19 19:24
关于无组件水印的问题,可以请教yms123版主,他是老资格了!应该会比较清楚一些!

我第一次上这个编程论坛的时候,他就是教导我的老师!
#8
gupiao1752010-08-19 19:29
icecool也是老同志了,不过他好象很少上线!
反正这个论坛以前很多ASP牛人的,像阳光白雪,天涯听雨,盖茨他爹,还有一些全英文字母的,我记不起来怎么读了!他们都应该算得上ASP高人!
#9
yms1232010-08-20 22:29
ASP还真没注意过无组件水印,因为很麻烦要写二进制码,可以无组件水印,因为本身支持GDI+
程序代码:
Public Function AddPersitsText(Path)   
        '************加文字水印**********************
        Dim Jpeg
        Set Jpeg = Server.CreateObject("Persits.Jpeg")
        Jpeg.Open Server.MapPath(Path)  '打开图片,Path为路片路径及名称   
        Jpeg.Canvas.Font.Color = &HFFFFFF  '后6位为文字颜色
        Jpeg.Canvas.Font.Family = "宋体"   '文字字体
        Jpeg.Canvas.Font.Bold = True   '是否加粗
        Jpeg.Canvas.Font.Size = 30   '字体大小
        Jpeg.Canvas.Font.Quality = 2
        Jpeg.Canvas.Font.ShadowXOffset = 1
        Jpeg.Canvas.Font.ShadowYOffset = 1  '阴影效果
        Jpeg.Canvas.Pen.Color = &HFFFFFF    '水印背景颜色
        Jpeg.Canvas.Pen.Width = 3
        Jpeg.Canvas.Brush.Solid = False
        Jpeg.Canvas.Print (Jpeg.width-240)/2, Jpeg.height/2+30, "www."       '水印显示在图片上的XY位置
        Jpeg.Save Server.MapPath(Path)      '保存水印图片
        Set Jpeg = Nothing
    End Function

    Public Function AddPersitsJpeg(Path)   
        '**************加图片水印*******************
        Dim photo,logo,photopath,logopath
        Set Photo = Server.CreateObject("Persits.Jpeg")
        PhotoPath = Server.MapPath(Path)  'Path为路片路径及名称
        Photo.Open PhotoPath   '打开图片
        Set Logo = Server.CreateObject("Persits.Jpeg")
        LogoPath = Server.MapPath("../images/imglogo.gif")   '水印图片的路径
        Logo.Open LogoPath
        Logo.Width = 300   '水印图片的宽度
        Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
        Photo.Canvas.Pen.Color  = &H000000    '水印背景颜色
        Photo.Canvas.Pen.Width  = 1   
        Photo.Canvas.Brush.Solid = False
        Photo.DrawImage (photo.width-350)/2, photo.height/2+30, Logo,0.1
        photo.Save Server.MapPath(Path)  ''水印显示在图片上的XY位置
        Set logo = Nothing
        Set photo = Nothing      
    End Function



ASPJPeg组件加水印的代码
#10
hebss2010-08-22 20:04
ASPJPeg组件加水印做出来的效果不好,图片压缩的太厉害。
1