编程论坛
注册
登录
编程论坛
→
ASP技术论坛
ASP 怎么给图片统一加水印
guang2356447
发布于 2010-08-17 22:33, 1408 次点击
ASP 怎么给图片统一加水印
就是在图片的右下角 加上几个文字 统一用css控制 有好多图片从数据库中读取的
怎么实现
9 回复
#2
gupiao175
2010-08-18 18:19
在百度上找不到相关资料吗。水印代码自己写是很难的,很复杂!一般都是用前辈写好的,除非你在这个领域有很深的研究!
#3
icecool
2010-08-18 21:18
要用到组件的吧,ASPJPEG
#4
gupiao175
2010-08-18 21:33
有组件的也有非组件的,一般都是组件!代码有点类似于ASP图形验证!反正那些十六进制和位操作什么的天书代码,我是看不懂!
#5
funky
2010-08-19 11:37
楼上的,不用组件能实现?? 果然是高手.
#6
gupiao175
2010-08-19 19:12
以下是引用
funky
在2010-8-19 11:37:55的发言:
楼上的,不用组件能实现?? 果然是高手.
不好意思,我搞错了,没有组件的在ASP里确实没有这方面的资料!
如果我能写出来,我就不在这个论坛混了。哈哈!
不过呢,我想如果能把验证图片代码的技术,如果能深入了解,应该可以把它应用到水印上来!
可惜我是菜鸟,我不会!
#7
gupiao175
2010-08-19 19:24
关于无组件水印的问题,可以请教yms123版主,他是老资格了!应该会比较清楚一些!
我第一次上这个编程论坛的时候,他就是教导我的老师!
#8
gupiao175
2010-08-19 19:29
icecool也是老同志了,不过他好象很少上线!
反正这个论坛以前很多ASP牛人的,像阳光白雪,天涯听雨,盖茨他爹,还有一些全英文字母的,我记不起来怎么读了!他们都应该算得上ASP高人!
#9
yms123
2010-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
hebss
2010-08-22 20:04
ASPJPeg组件加水印做出来的效果不好,图片压缩的太厉害。
1