下沙论坛

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

QQ登录

QQ登录

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

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

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

    [LV.1]初来乍到

    跳转到指定楼层
    1
    发表于 2009-4-16 08:44:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    作用:用ASP程序将页面中的电话号码生成图片格式。 以下是引用片段:! ?3 d. }4 q0 M: R; ]
    <%
    9 ^! S  d- i) N) CCall Com_CreatValidCode(Request.QueryString("tel"))  
    7 F4 c5 n% I- y5 RPublic Sub Com_CreatValidCode(pTel)  
    1 T/ ?0 r! h; N4 N8 N     '----------禁止缓存  
    1 F1 A9 m$ V! ~6 a8 Y     Response.Expires = 0 8 Z8 W2 ]- E" G1 P; F
         Response.AddHeader "Pragma","no-cache"  9 k' g/ g8 Q1 o3 K9 p, V
         Response.AddHeader "cache-ctrol","no-cache"  " e3 B4 y& c& o
         Response.C  + ^1 W4 w- I  `1 m
         Randomize  
    ; J5 z9 ?3 _+ h3 W2 a     Dim i, ii, iii ,rndColor,strLen,sql,rs
    6 g# P) X8 @* b/ r, ^$ k     Const cOdds = 5 '------------杂点出现的机率 ; E8 B9 T5 Y1 C! ?% y+ O
         Const str="0123456789-"  
    $ s! I: a7 N$ y0 a; r     strLen = len(pTel)
    6 T, c& B5 y% \. K: N7 J/ \+ j     rndColor = ChrB(cint(rnd*255)) & ChrB(cint(rnd*255)) & ChrB(cint(rnd*255)) # b7 }8 V; O. ^. c) M9 z" W; B1 D
         '-----------颜色的数据(字符,背景)  " }; [, l$ _5 ~8 G3 f6 K
         Dim vColorData(1)  
    % _) M4 \! i5 \$ }& l: c4 v8 l/ K0 j     'vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)     '----蓝0,绿0,红0(黑色)  
    . L9 s- ^- u8 N% U% F+ u/ N$ [     'vColorData(1) = ChrB(255) & ChrB(255) & ChrB(255) '----蓝250,绿236,红211(浅蓝色)  
    $ ^7 z7 Z6 u; b  [5 }6 O6 G     'vColorData(0) = ChrB(197) & ChrB(106) & ChrB(49)     '---- 蓝0,绿0,红0(黑色)  % V% E+ _& k& H( o, V% R$ g
         'vColorData(1) = ChrB(238) & ChrB(210) & ChrB(193) '-----蓝250,绿236,红211(浅蓝色)  , ~/ w! x/ T' N7 `1 j
         vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)     '---------蓝0,绿0,红0(黑色)  / K# q( V. @" I; O, r# L% ^
         vColorData(1) = ChrB(205) & ChrB(237) & ChrB(245) '------------蓝250,绿236,红211(浅蓝色)  
    0 `3 B+ S. A4 Z# Z7 j' v     '--------------------随机产生字符  
    # O/ Q) T' O" _. I9 a; }4 c     Randomize
    : s$ V3 a) Q: s     Dim vCode()
      s- A0 Y$ a9 r& k" D     redim vCode(strLen-1) " d2 @6 j1 Q  U
         For i = 0 To strLen-1
    7 l$ ~6 Y8 l' P         vCode(i) =instr(1,str,mid(pTel,i+1,1),1)-1
    & U, C8 g8 O% p# E4 a: z     Next  $ F# T4 s7 F! \+ K, q+ j
         '-----------字符的数据  * k) A+ i0 R( T: b
         Dim vNumberData(11)  
    & V1 ?5 \5 K+ ]* I9 h     'Verdana Font
    9 R2 E! ~5 P1 x0 g* V1 N. n2 ^, G     vNumberData(0) = "11111111111000111101110111011101110111011101110111011101110111011110001111111111"  
    / W7 P; a* S0 \! r, k. Q     vNumberData(1) = "11111111111101111110011111110111111101111111011111110111111101111110001111111111"  * L+ j+ g. x8 M& S, L
         vNumberData(2) = "11111111111000111101110111011101111110111111011111101111110111111100000111111111"  
    6 x+ [3 q( }& F5 l9 j# W     vNumberData(3) = "11111111111000111101110111111101111100111111110111111101110111011110001111111111"  " s' ~) \# J; o9 L( h
         vNumberData(4) = "11111111111110111111001111101011111010111101101111100001111110111111100111111111"  # b5 }% b' @0 r9 F5 L2 C  P
         vNumberData(5) = "11111111110000011101111111011111110000111111110111111101110111011110001111111111"  
    ! D) l$ t' ^  E% T     vNumberData(6) = "11111111111000111101101111011111110000111101110111011101110111011110001111111111"  4 }+ H! }9 l9 i6 k8 }- v  r1 o
         vNumberData(7) = "11111111110000011101101111111011111101111111011111110111111101111111011111111111"  $ `) ^! s* T0 z, {& C; U" l/ I$ t
         vNumberData(8) = "11111111111000111101110111011101111000111101110111011101110111011110001111111111"  
    / l; U; g. S: _5 J; b' z     vNumberData(9) = "11111111111000111101110111011101110111011110000111111101111011011110000111111111"  
    ! z7 `7 N, t4 X5 Z1 d     vNumberData(10) = "11111111111111111111111111111111111111111100000111111111111111111111111111111111"  
    ) p& G" M7 T% Z# D     vNumberData(11) = "11111111111111111111111111111111111111111111111111111111111111111111111111111111"  
    . X' @7 O* |+ ?, v- j$ T5 V1 C     '-----------------输出图像文件头 <br> 2 i! M; b( L, B3 f/ P. H4 v6 ]
         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 j" f4 Z4 V7 n  `     ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_  
    1 x5 v  }$ z, B8 A( {2 |     ChrB(0) & ChrB(0) & ChrB(strLen*8) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(10) & ChrB(0) &_  3 r  u( r" e& `% E8 J# ]8 l  z
         ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0)  " _4 F" h, L. o; z$ o; b6 [. z
         '------------------输出图像信息头  
    . a; _8 u( _& p# R- F     Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)&_
    4 y5 X4 M! K% z2 Y2 O6 I     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)&_  ' C; l; m" p9 X5 r2 |6 [
         ChrB(196) & ChrB(14) & ChrB(0) & ChrB(0) & ChrB(196) & ChrB(14)&ChrB(0) & ChrB(0) &_  
    " Z1 m# w4 z% d      ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)  
    1 @- h& ]* M4 \. r4 G% j9 J, ~     For i = 9 To 0 Step -1     '----------历经所有行  
    ; |9 O3 Q- x6 m( P         For ii = 0 To strLen-1     '-------历经所有字  
    . ]8 |+ f0 G0 Q3 T2 B  Y" H             For iii = 1 To 8 '--------历经所有像素  
    3 s. o2 Y5 {  o( A& X+ z& f                '---------逐行、逐字、逐像素地输出图像数据  & k- C6 y" Q' P) y* N$ }# b: T: Y$ S8 h
                    If Rnd * 99 + 1 < cOdds Then '---------随机生成杂点  # S) {" x8 _- t  o5 z' G
                         Response.BinaryWrite rndColor , \( |0 [& }) A' E; Q
                    Else  
    & K+ }' R0 J4 H: W6 v                     Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 8 + iii, 1))  7 J  Y/ V1 S2 n7 K2 Q
                    End If    S3 i: k+ \. a, e& ~
                 Next  
    ' S- J9 a# E  |: Q: R$ d% a" q% N         Next  8 e  X% C. J3 G
         Next  : x. c9 f& J: i* E
    End Sub   ^6 v5 M+ f5 k$ _
    %> ; ]' C! z0 F( Y" k
    0 w% v9 ^2 A1 H( ]  u# k
          将以上代码保存为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 下一条

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