图片自动保存到本地并利用aspjpeg为图片加水印
程序员文章站
2023-08-24 15:48:17
<% '函数功能:远程图片自动保存到本地服务器,并利用aspjpeg为图片加上水印 '(注意:请先在目录下创建images目录,用来保存临时图片) '本程序需要在服务...
<%
'函数功能:远程图片自动保存到本地服务器,并利用aspjpeg为图片加上水印
'(注意:请先在目录下创建images目录,用来保存临时图片)
'本程序需要在服务器上安装"aspjpeg组件"否则无法正常使用
'也可以只取'''''22222222'''''''以上的部分,这部分可以保存图片,第二部分是进行水印增加
'使用方法,请保存为saveimg.asp
'saveimg.asp?url=http://siyizhu.com/logo.gif 即可以取下图片啦,hoho. 其他需要加的功能,大家自己扩展好啦
'如何获取其他后缀名的文件呢? 当然也可以啦
'(jpg|gif|png|bmp)改成(mp3)明白吧? 就是取mp3后缀的文件名.以此类推. 嘻嘻
server.scripttimeout=99999
const savepath="images" '图片保存路径
url=request("url")
function myreplace(str)
newstr=str
set objregex = new regexp
objregex.ignorecase = true
objregex.global = true
objregex.pattern = "http://(.+?)\.(jpg|gif|png|bmp)" '定义文件后缀
set matches = objregex.execute(str)
for each match in matches
newstr=replace(newstr,match.value,saveimg(match.value))
next
myreplace=newstr
end function
function saveimg(url)
temp=split(url,".")
'以下是用时间与随机数重命名文件名
randomize
rannum=int(90000*rnd)+10000
filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&rannum&"."&temp(ubound(temp))
'文件名重命名结束
set xmlhttp=server.createobject("microsoft.xmlhttp")
xmlhttp.open "get",url,false
xmlhttp.send
img=xmlhttp.responsebody
set xmlhttp=nothing
set objadostream=server.createobject("adodb.stream")
objadostream.open()
objadostream.type=1
objadostream.write(img)
objadostream.savetofile(server.mappath(savepath&filename))
objadostream.seteos
set objadostream=nothing
'''''''222222222'''''''''''
saveimg=savepath&filename '获取保存路径
dim jpeg
set jpeg = server.createobject("persits.jpeg")
jpeg.open server.mappath(saveimg) '打开保存图片的路径
' 添加文字水印
jpeg.canvas.font.color = &hff0000' 红色
jpeg.canvas.font.family = "宋体"
jpeg.canvas.font.bold = true
jpeg.canvas.print jpeg.originalwidth-200,jpeg.originalheight-50, "siyizhu.com" '水印离左边的距离,离顶端的距离,这个是放在右下脚了
'保存文件
jpeg.save server.mappath(saveimg) '保存添加水印后的图片
' 注销对象
set jpeg = nothing
end function
%>
注意你的服务器组件支持哦.
'函数功能:远程图片自动保存到本地服务器,并利用aspjpeg为图片加上水印
'(注意:请先在目录下创建images目录,用来保存临时图片)
'本程序需要在服务器上安装"aspjpeg组件"否则无法正常使用
'也可以只取'''''22222222'''''''以上的部分,这部分可以保存图片,第二部分是进行水印增加
'使用方法,请保存为saveimg.asp
'saveimg.asp?url=http://siyizhu.com/logo.gif 即可以取下图片啦,hoho. 其他需要加的功能,大家自己扩展好啦
'如何获取其他后缀名的文件呢? 当然也可以啦
'(jpg|gif|png|bmp)改成(mp3)明白吧? 就是取mp3后缀的文件名.以此类推. 嘻嘻
server.scripttimeout=99999
const savepath="images" '图片保存路径
url=request("url")
function myreplace(str)
newstr=str
set objregex = new regexp
objregex.ignorecase = true
objregex.global = true
objregex.pattern = "http://(.+?)\.(jpg|gif|png|bmp)" '定义文件后缀
set matches = objregex.execute(str)
for each match in matches
newstr=replace(newstr,match.value,saveimg(match.value))
next
myreplace=newstr
end function
function saveimg(url)
temp=split(url,".")
'以下是用时间与随机数重命名文件名
randomize
rannum=int(90000*rnd)+10000
filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&rannum&"."&temp(ubound(temp))
'文件名重命名结束
set xmlhttp=server.createobject("microsoft.xmlhttp")
xmlhttp.open "get",url,false
xmlhttp.send
img=xmlhttp.responsebody
set xmlhttp=nothing
set objadostream=server.createobject("adodb.stream")
objadostream.open()
objadostream.type=1
objadostream.write(img)
objadostream.savetofile(server.mappath(savepath&filename))
objadostream.seteos
set objadostream=nothing
'''''''222222222'''''''''''
saveimg=savepath&filename '获取保存路径
dim jpeg
set jpeg = server.createobject("persits.jpeg")
jpeg.open server.mappath(saveimg) '打开保存图片的路径
' 添加文字水印
jpeg.canvas.font.color = &hff0000' 红色
jpeg.canvas.font.family = "宋体"
jpeg.canvas.font.bold = true
jpeg.canvas.print jpeg.originalwidth-200,jpeg.originalheight-50, "siyizhu.com" '水印离左边的距离,离顶端的距离,这个是放在右下脚了
'保存文件
jpeg.save server.mappath(saveimg) '保存添加水印后的图片
' 注销对象
set jpeg = nothing
end function
%>
注意你的服务器组件支持哦.
上一篇: 创建一个ASP通用分页类