下沙论坛

 找回密码
 注册论坛(EC通行证)

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 2801|回复: 1
打印 上一主题 下一主题

电话号码生成图片的ASP程序

[复制链接]
  • TA的每日心情
    开心
    2014-7-28 21:47
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1
    发表于 2009-4-16 08:44:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    作用:用ASP程序将页面中的电话号码生成图片格式。 以下是引用片段:6 T% `0 E( O1 o9 J( v
    <%
    1 C" c  g+ B+ E: f6 ?: ~9 Y8 V4 x( yCall Com_CreatValidCode(Request.QueryString("tel"))  
    8 _. \; f; }. `5 h) j3 ?. qPublic Sub Com_CreatValidCode(pTel)  
    % R  @% C7 q+ ?( u: S' Z) b, G% S     '----------禁止缓存  5 o0 i/ i3 d+ m$ ?0 M4 |9 h
         Response.Expires = 0 , h; \/ P' Y8 L% z4 [3 l
         Response.AddHeader "Pragma","no-cache"  
    9 |" M9 A* n# T& a) Q     Response.AddHeader "cache-ctrol","no-cache"  # A) Q6 Z$ {* ^; Y1 R
         Response.C  
    0 @) p3 X4 z8 j2 R' j# i     Randomize  
    7 S0 y* `/ n; |4 a; G: N     Dim i, ii, iii ,rndColor,strLen,sql,rs 7 s1 t, x0 x* j# _( P
         Const cOdds = 5 '------------杂点出现的机率
    ; p8 m9 @( \5 X# Q     Const str="0123456789-"  6 K) T" r: J7 V
         strLen = len(pTel) ; i6 X& a. h( O% `: }5 {
         rndColor = ChrB(cint(rnd*255)) & ChrB(cint(rnd*255)) & ChrB(cint(rnd*255))
    3 M( W, P# K; j9 A     '-----------颜色的数据(字符,背景)  ( r" k5 l1 B% K. a. m
         Dim vColorData(1)  
    3 q+ @" N# e/ ~- Q: m' w2 y     'vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)     '----蓝0,绿0,红0(黑色)  
    7 S# Z) Q" }* p- H     'vColorData(1) = ChrB(255) & ChrB(255) & ChrB(255) '----蓝250,绿236,红211(浅蓝色)  4 T/ G: Z& H) c+ ]+ B
         'vColorData(0) = ChrB(197) & ChrB(106) & ChrB(49)     '---- 蓝0,绿0,红0(黑色)  
    9 T. x* ~8 T9 G6 w     'vColorData(1) = ChrB(238) & ChrB(210) & ChrB(193) '-----蓝250,绿236,红211(浅蓝色)  4 ?8 o7 x" N+ _& p, F- `
         vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)     '---------蓝0,绿0,红0(黑色)  
      E6 q0 s5 J1 G- o$ P1 b9 S% |# ^3 W     vColorData(1) = ChrB(205) & ChrB(237) & ChrB(245) '------------蓝250,绿236,红211(浅蓝色)  
    / n; G) `5 G& N  E     '--------------------随机产生字符  1 i6 R# {  X1 i2 L* Y
         Randomize
    8 F% J: q& \6 z2 p3 l7 O     Dim vCode() ; n& A& h' {  }- T0 p
         redim vCode(strLen-1) 7 W) P) w  J& Q2 C9 N3 a. {. J
         For i = 0 To strLen-1 & Q. I: j  z, c
             vCode(i) =instr(1,str,mid(pTel,i+1,1),1)-1 5 s: I$ \# q2 w1 f, l$ s* p
         Next  ( K/ t/ C/ g' e  K7 Q
         '-----------字符的数据  7 d# f4 \5 X2 H8 q7 d
         Dim vNumberData(11)  # M& l" X/ J: ^1 c2 o: `2 }
         'Verdana Font , |# f: ?( ~( y4 j" Z6 p
         vNumberData(0) = "11111111111000111101110111011101110111011101110111011101110111011110001111111111"  
    / [  I2 K. _+ S0 q+ ?4 x* B# S" ]     vNumberData(1) = "11111111111101111110011111110111111101111111011111110111111101111110001111111111"  
    * l5 p0 f4 j/ n) _  o: Z     vNumberData(2) = "11111111111000111101110111011101111110111111011111101111110111111100000111111111"  
    & c6 h/ d$ y2 X* ]0 _     vNumberData(3) = "11111111111000111101110111111101111100111111110111111101110111011110001111111111"  ' f* |& [" l& d- x
         vNumberData(4) = "11111111111110111111001111101011111010111101101111100001111110111111100111111111"  
    7 {6 G. q3 y& g" Z     vNumberData(5) = "11111111110000011101111111011111110000111111110111111101110111011110001111111111"  
    : f% n2 I, L' T) c( S" p     vNumberData(6) = "11111111111000111101101111011111110000111101110111011101110111011110001111111111"  9 q, H0 y% ~+ p8 m( s# ^
         vNumberData(7) = "11111111110000011101101111111011111101111111011111110111111101111111011111111111"  6 K9 r; k/ X- B* b
         vNumberData(8) = "11111111111000111101110111011101111000111101110111011101110111011110001111111111"  
    : C/ _7 Y! m+ i     vNumberData(9) = "11111111111000111101110111011101110111011110000111111101111011011110000111111111"  ) W; W( Y+ c) X* v! U
         vNumberData(10) = "11111111111111111111111111111111111111111100000111111111111111111111111111111111"  ' Q3 S' t. ?1 N8 ?
         vNumberData(11) = "11111111111111111111111111111111111111111111111111111111111111111111111111111111"  
    9 {0 W  u, [9 W' y. V     '-----------------输出图像文件头 <br> 4 r2 N3 _3 D0 G* u" \
         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) &_  
    1 t1 f8 {0 E0 C+ l" I     ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_  % i; W: @4 C! F9 V: U: y
         ChrB(0) & ChrB(0) & ChrB(strLen*8) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(10) & ChrB(0) &_  : n: J! r6 `! x4 n4 a: {: [9 D; \
         ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0)  
    , i7 ~# u" G0 i8 k. V: F     '------------------输出图像信息头  
    4 c% R4 t0 l* I     Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)&_
    3 l0 X0 c, M; _+ ]4 _     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)&_  & K5 r4 n; {; m* D3 h
         ChrB(196) & ChrB(14) & ChrB(0) & ChrB(0) & ChrB(196) & ChrB(14)&ChrB(0) & ChrB(0) &_  $ D; H* V1 i/ I  H
          ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)  / M0 K6 q' j2 f) x! S. C
         For i = 9 To 0 Step -1     '----------历经所有行  
    " b. w( c/ Z) A" T  d4 z( T         For ii = 0 To strLen-1     '-------历经所有字  
    + j: y( O" E2 U& n: u             For iii = 1 To 8 '--------历经所有像素  
    * r+ H' a; C4 f5 @* r1 s                '---------逐行、逐字、逐像素地输出图像数据  - R9 ^2 X: x8 I" }; H' h$ x
                    If Rnd * 99 + 1 < cOdds Then '---------随机生成杂点  % d1 ~1 P/ ^3 B8 l1 t7 u
                         Response.BinaryWrite rndColor
    2 b/ a3 c! c. i8 C% E                Else  
    # q2 v, f; O$ q: s8 s1 p                     Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 8 + iii, 1))  * W9 ^# A  j" Z
                    End If  
    " B- c3 Y+ `- Y( ~- i- R5 h  a# R             Next  5 N, k' d4 Z- E0 x8 k
             Next  
    4 o. T, C% ?( j, u( V     Next  * R$ g( p( F2 U  o3 z
    End Sub
    " U: X, S: l" w0 h  }+ t%>
    ) l' e1 ^. o* }8 t' {* i) L, a: G5 L0 l: H% z5 V8 ~, _0 h
          将以上代码保存为img.asp,在要显示电话号码的位置插入<img src="img.asp?tel=010-0000000">即可。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 顶 踩
  • TA的每日心情
    开心
    2014-7-28 21:47
  • 签到天数: 2 天

    [LV.1]初来乍到

    2
     楼主| 发表于 2009-4-16 09:17:59 | 只看该作者
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    下沙大学生网推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表