最近做的一個項目中,客戶要求用asp生成二維碼,然后合並到一張背景圖片上,合並生成一張推廣海報來,可把我愁壞了,經過一個晚上的努力,成功了,下面把這個:asp生成帶參數的二維碼並合成推廣海報,asp合並合成推廣海報asp代碼,發下面來,給有需要的朋友用:
<div class="content content_bottom"> <div class="btitle"> <div class="box1 iconfont"><a href="javascript:history.go(-1);"></a></div> <div class="box2"><%=haibao_title%></div> </div> <!--#include file="qrcode.asp"--> <% '=====圖片名字生成 Function getRnd() Dim rndnum,filename Randomize Timer rndnum = Int(899999 * Rnd + 100000) filename = year(now())&month(now())&day(now())&rndnum getRnd = filename End Function 'b64=base64數據 tname=bmp/gif imgname="img/1.gif" function base64toimage(b64,tname,imgname) if b64="" then base64toimage="" : exit function if imgname="" then base64toimage="" : exit function if tname="" then tname="gif" b64=replace(b64,"data:image/"&tname&";base64,","") b64=replace(b64," ","+") Dim xml : Set xml=Server.CreateObject("MSXML2.DOMDocument") Dim stm : Set stm=Server.CreateObject("ADODB.Stream") xml.resolveExternals=False xml.loadXML("<?xml version=""1.0"" encoding=""gb2312""?><data><![CDATA["&b64&"]]></data>") xml.documentElement.setAttribute "xmlns:dt","urn:schemas-microsoft-com:datatypes" xml.documentElement.dataType = "bin.base64" stm.Type=1 stm.Open stm.Write xml.documentElement.nodeTypedValue stm.SaveToFile Server.MapPath(imgname),2 stm.Close Set xml=Nothing Set stm=Nothing base64toimage=imgname end function 'outqr(版本,糾錯級別,圖片格式,待生成的數據,放大倍數,邊距,保存本地圖片路徑及名稱格式) '版本0-10 : 簡易版本,編碼字符不宜過多;版本越高,容納的字符數越多 '糾錯級別|[LMQH]) '圖片格式: gif / bmp : bmp的圖片大一些 '待生成的數據 如:世界!你好 '放大倍數 純數字 如:5 : 數字越大生成的二維碼越大 不建議過大影響速度 '邊距 純數字 如:10 '保存本地圖片路徑及名稱格式 如:qr/100.gif : 如果為空將不保存本地圖片,返回base64圖片 重名將覆蓋 function outqr(a,b,c,d,e,f,g) dim qr,b64img set qr = ASPQrcode(a,b) qr.useBestMaskPattern = false '如果為false,生成速度會快很多,二維碼復雜點; qr.output =c b64img=qr.getBase64(d,e,f) set qr=nothing if g<>"" then : outqr=base64toimage(b64img,c,g) : else : outqr="data:image/"&c&";base64,"&b64img : end if end function dim imgname,picname picname = getRnd ewmpic = "UploadFile/ewm/"&picname&".jpg" website = ""&anco_site_http&"/share.asp?hyid="&newhyid&"" '看看二維碼是不是入庫了 if hy_wxewm<>"" then else Conn.ExeCute("update [member] set ewm='"&ewmpic&"' where id="&newhyid&"") imgname=outqr(0,"M","jpg",""&website&"",13,5,"UploadFile/ewm/"&picname&".jpg") end if 'end會員表 %> <div class="main_95 pt10"> <center><span class="mod"><a href="member_hb.asp">下載<%=haibao_title%></a></span></center> <div class="conte_text pt10"> <%=haibao_gsl%> </div> </div>