账号通
    

账号  

密码  

4878

查看

8

回复
主题:[分享]把网页中的电话号码生成图片的ASP代码 [收藏主题] 转到:  
无风 当前离线

1622

主题

5

广播

29

粉丝
添加关注
级别:高一年

用户积分:5963 分
登录次数:199 次
注册时间:2009/10/12
最后登录:2024/4/4
无风 发表于:2010/1/10 9:52:00   | 显示全部帖子 查看该作者主题 楼主 
做在线知识付费 选科汛云开店
  1. <%   
  2. Call Com_CreatValidCode(Request.QueryString("tel"))   
  3.   
  4. Public Sub Com_CreatValidCode(pTel)   
  5.   
  6.      '----------禁止缓存   
  7.       Response.Expires = 0   
  8.       Response.AddHeader "Pragma","no-cache"   
  9.       Response.AddHeader "cache-ctrol","no-cache"   
  10.       Response.ContentType = "Image/BMP"   
  11.   
  12.       Randomize   
  13.   
  14.      Dim i, ii, iii ,rndColor,strLen,sql,rs   
  15.   
  16.      Const cOdds = 5 '------------杂点出现的机率   
  17.      Const str="0123456789-"   
  18.       strLen = len(pTel)   
  19.       rndColor = ChrB(cint(rnd*255)) & ChrB(cint(rnd*255)) & ChrB(cint(rnd*255))   
  20.   
  21.      '-----------颜色的数据(字符,背景)   
  22.      Dim vColorData(1)   
  23.   
  24.      'vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)      '----蓝0,绿0,红0(黑色)   
  25.      'vColorData(1) = ChrB(255) & ChrB(255) & ChrB(255) '----蓝250,绿236,红211(浅蓝色)   
  26.   
  27.      'vColorData(0) = ChrB(197) & ChrB(106) & ChrB(49)      '---- 蓝0,绿0,红0(黑色)   
  28.      'vColorData(1) = ChrB(238) & ChrB(210) & ChrB(193) '-----蓝250,绿236,红211(浅蓝色)   
  29.   
  30.       vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)     '---------蓝0,绿0,红0(黑色)   
  31.       vColorData(1) = ChrB(205) & ChrB(237) & ChrB(245) '------------蓝250,绿236,红211(浅蓝色)   
  32.   
  33.   
  34.      '--------------------随机产生字符   
  35.       Randomize   
  36.   
  37.      Dim vCode()   
  38.       redim vCode(strLen-1)   
  39.      For i = 0 To strLen-1   
  40.           vCode(i) =instr(1,str,mid(pTel,i+1,1),1)-1   
  41.      Next   
  42.   
  43.   
  44.      '-----------字符的数据   
  45.      Dim vNumberData(11)   
  46.   
  47.      'Verdana Font   
  48.       vNumberData(0) = "11111111111000111101110111011101110111011101110111011101110111011110001111111111"   
  49.       vNumberData(1) = "11111111111101111110011111110111111101111111011111110111111101111110001111111111"   
  50.       vNumberData(2) = "11111111111000111101110111011101111110111111011111101111110111111100000111111111"   
  51.       vNumberData(3) = "11111111111000111101110111111101111100111111110111111101110111011110001111111111"   
  52.       vNumberData(4) = "11111111111110111111001111101011111010111101101111100001111110111111100111111111"   
  53.       vNumberData(5) = "11111111110000011101111111011111110000111111110111111101110111011110001111111111"   
  54.       vNumberData(6) = "11111111111000111101101111011111110000111101110111011101110111011110001111111111"   
  55.       vNumberData(7) = "11111111110000011101101111111011111101111111011111110111111101111111011111111111"   
  56.       vNumberData(8) = "11111111111000111101110111011101111000111101110111011101110111011110001111111111"   
  57.       vNumberData(9) = "11111111111000111101110111011101110111011110000111111101111011011110000111111111"   
  58.       vNumberData(10) = "11111111111111111111111111111111111111111100000111111111111111111111111111111111"   
  59.       vNumberData(11) = "11111111111111111111111111111111111111111111111111111111111111111111111111111111"   
  60.   
  61.      '-----------------输出图像文件头 <br>   
  62.       Response.BinaryWrite ChrB(66) & ChrB(77) &chrb(((strLen*8*10*3+54) mod 256)) & chrb(((strLen*8*10*3+54)\ 256)mod 256) & ChrB((((strLen*8*10*3+54)\ 256)\256)mod 256) & ChrB(((((strLen*8*10*3+54)\ 256)\256)\256)mod 256) & ChrB(0) & ChrB(0) &_   
  63.       ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_   
  64.       ChrB(0) & ChrB(0) & ChrB(strLen*8) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(10) & ChrB(0) &_   
  65.       ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0)   
  66.   
  67.      '------------------输出图像信息头   
  68.       Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)&_   
  69.       ChrB((strLen*8*10*3)mod 256)&ChrB(((strLen*8*10*3)\256)mod 256)&ChrB((((strLen*8*10*3)\256)\256)mod 256)&ChrB(((((strLen*8*10*3)\256)\256)\256)mod 256)&_   
  70.       ChrB(196) & ChrB(14) & ChrB(0) & ChrB(0) & ChrB(196) & ChrB(14)&ChrB(0) & ChrB(0) &_   
  71.        ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)   
  72.   
  73.      For i = 9 To 0 Step -1     '----------历经所有行   
  74.          For ii = 0 To strLen-1     '-------历经所有字   
  75.              For iii = 1 To 8 '--------历经所有像素   
  76.                 '---------逐行、逐字、逐像素地输出图像数据   
  77.                 If Rnd * 99 + 1 < cOdds Then '---------随机生成杂点   
  78.                       Response.BinaryWrite rndColor   
  79.                 Else   
  80.                       Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 8 + iii, 1))   
  81.                 End If   
  82.              Next   
  83.          Next   
  84.      Next   
  85. End Sub  
  86. %>  
  87. 将以上代码保存为img.asp,在要显示电话号码的位置插入<img src="img.asp?tel=0591-26728373">即可。
  88. 科讯模板中可以这样调用
  89. 比如你的电话字段是KS_tel
  90.  <img src="img.asp?tel={$KS_tel}">
 
  支持(9) | 反对(9) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.07910秒 powered by KesionCMS 9.0