asp通过jpeg组件给图片添加图片水印的函数(研究了一天刚刚搞出来)
<%
'======================================
'功能:给图片添加图片水印
'说明:call CreateView("a.jpg","logo.gif","images/b.jpg",1)
'开发者:seven
'开发时间:2006-3-15
'注释:如果有更多问题可以来我论坛交流http://7di.net
'======================================
Sub CreateView(Image1,Image2,Tmpimage,ImageMode)
'//Image1原图(被处理图片)
'//Image2小图片(需要附加的小图标,最好是gif得透明图片)
'//Tmpimage豫览图
'//ImageMode是否添加边框
upload_ViewType=0
LogoPath = Server.MapPath(Image2)
Set Logobox = Server.CreateObject("Persits.Jpeg")
Logobox.Open LogoPath '//读取添加的图片。
Logobox.Width = 50 '//用做水印的图片的宽度值(像素)。
Logobox.Height = 15 '//用做水印的图片的高度值(像素)。
'//读取原图,并准备添加水印。
Set ogvbox = Server.CreateObject("Persits.Jpeg") '//读取要处理的原文件。
ogvbox.Open Trim(Server.MapPath(Image1))
If ogvbox.OriginalWidth<Cint(ImageWidth) or ogvbox.Originalheight<Cint(ImageHeight) Then
F_Viewname=""
Set ogvbox = Nothing
Exit Sub
Else
IF ImageMode=1 Then
ogvbox.Canvas.Pen.Color = &H1EB81E '//增加水印后图片的边框色彩。
ogvbox.Canvas.Pen.Width = 15 '//增加水印后图片的边框宽度。
ogvbox.Canvas.Brush.Solid = False '//边框内是否填充颜色,你可以试试看值为True时的效果^o^
ogvbox.DrawImage ogvbox.width/2, ogvbox.height/2, Logobox, 0.4 '//水印图片的起始坐标,我这里是放在图片的正中间。0.4是透明度,我这里是半透明,1表示不透明
ogvbox.Canvas.Bar 0, 0, ogvbox.Width, ogvbox.Height '//水印可用的范围。我这里表示左上角至右下角,即整张图片的任意位置都可加水印。
ogvbox.Save Server.MapPath(Image1) '//根据以上参数生成增加水印后的图片文件。
End If
ogvbox.Width = ogvbox.width
ogvbox.height = ogvbox.height
ogvbox.Sharpen 1, 120
ogvbox.Save Server.MapPath(Tmpimage) '//生成增加水印后的图片的预览图片。
End If
Set ogvbox=Nothing
Set Logobox=Nothing
end sub
call CreateView("a.jpg","logo.gif","images/b.jpg",1)
%>
问题点数:20、回复次数:1Top
1 楼danis_cn(宇宙鸟)回复于 2006-03-15 16:57:25 得分 20
恭喜,沙发!Top




