下沙论坛

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

用新浪微博连接

一步搞定

QQ登录

QQ登录

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

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

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

    [LV.1]初来乍到

    跳转到指定楼层
    1
    发表于 2009-4-16 08:44:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    作用:用ASP程序将页面中的电话号码生成图片格式。 以下是引用片段:/ f' E1 a9 u8 w" O& s2 w$ c
    <% 7 R/ A$ W. q5 X2 T) q2 Z
    Call Com_CreatValidCode(Request.QueryString("tel"))  3 [2 ?. O3 A# _# P% ~( V
    Public Sub Com_CreatValidCode(pTel)  
    + k' I: E4 n5 J+ z6 T' b- \4 l     '----------禁止缓存    F, }5 ^0 f' Z7 A. t
         Response.Expires = 0
    / O% C- V1 C8 A* Z6 H! T( ^. v     Response.AddHeader "Pragma","no-cache"  
    + Q( s. j( W: J- ?0 J$ X5 y4 f' I     Response.AddHeader "cache-ctrol","no-cache"  
    9 y/ n! U7 I0 \- C8 f' E2 Z9 F  r     Response.C  
    # ~4 j/ W. H1 o; X$ {" \6 U     Randomize  ' u0 g) V. I3 I' A
         Dim i, ii, iii ,rndColor,strLen,sql,rs - J+ E. P( J5 \& @6 S$ o6 g
         Const cOdds = 5 '------------杂点出现的机率 / C& K: w2 a# N8 K" A8 V* Y
         Const str="0123456789-"  ) o! X# v& V9 p5 C
         strLen = len(pTel) ( {8 T& E- m9 Y  w  u- r: {/ I0 m
         rndColor = ChrB(cint(rnd*255)) & ChrB(cint(rnd*255)) & ChrB(cint(rnd*255))
    ( v$ `* _# A1 z& n: V6 d% K     '-----------颜色的数据(字符,背景)  1 H, f5 Q2 P" E5 i7 a! g
         Dim vColorData(1)  % w8 P& P$ q( w& A3 T, j% i$ D
         'vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)     '----蓝0,绿0,红0(黑色)  . Y1 [2 y. N6 d. w+ b
         'vColorData(1) = ChrB(255) & ChrB(255) & ChrB(255) '----蓝250,绿236,红211(浅蓝色)  # o7 ~+ @# K$ A2 s3 m  q
         'vColorData(0) = ChrB(197) & ChrB(106) & ChrB(49)     '---- 蓝0,绿0,红0(黑色)  3 d3 p1 y% R% R: |4 K2 q: B+ ]
         'vColorData(1) = ChrB(238) & ChrB(210) & ChrB(193) '-----蓝250,绿236,红211(浅蓝色)  
    - }9 ?1 Z1 a3 R* A" s+ F. U     vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)     '---------蓝0,绿0,红0(黑色)  ) Q; t3 L3 r4 a8 N2 z
         vColorData(1) = ChrB(205) & ChrB(237) & ChrB(245) '------------蓝250,绿236,红211(浅蓝色)  7 v% F$ ]2 h4 n1 l) b
         '--------------------随机产生字符  ; A" P  f' N( D- W8 \
         Randomize
    % d: e) s2 c* z. t8 n2 }     Dim vCode() 2 t5 R$ |3 P4 `/ C6 w
         redim vCode(strLen-1)
    8 _- ~6 Q7 T1 V; H1 l     For i = 0 To strLen-1 $ @7 g  S+ q+ f0 e! K- V
             vCode(i) =instr(1,str,mid(pTel,i+1,1),1)-1
    ' f% t# j) Y9 Q( F" n" \     Next  
    ) B3 l# M4 ^6 C     '-----------字符的数据  
    # ?) X4 w6 v: P5 j2 s. `6 a( E. g% c0 g     Dim vNumberData(11)  8 h3 Z3 ?) [; p* b3 A+ f* a
         'Verdana Font
    5 \3 _5 G: c- q; G     vNumberData(0) = "11111111111000111101110111011101110111011101110111011101110111011110001111111111"  
    4 v) {6 e# O) h0 `$ R! [; w     vNumberData(1) = "11111111111101111110011111110111111101111111011111110111111101111110001111111111"  / S9 V: G* l8 N& H
         vNumberData(2) = "11111111111000111101110111011101111110111111011111101111110111111100000111111111"  9 B; T( Q$ n+ F; p2 C
         vNumberData(3) = "11111111111000111101110111111101111100111111110111111101110111011110001111111111"  & @( m/ T! A3 }: W4 p+ b. t6 f
         vNumberData(4) = "11111111111110111111001111101011111010111101101111100001111110111111100111111111"  
    , Y2 I6 s, g% I6 l2 j& |0 m     vNumberData(5) = "11111111110000011101111111011111110000111111110111111101110111011110001111111111"  
    $ u3 l7 [, D7 h7 p8 L* G: E     vNumberData(6) = "11111111111000111101101111011111110000111101110111011101110111011110001111111111"  
    & L$ K" h: m  u$ @     vNumberData(7) = "11111111110000011101101111111011111101111111011111110111111101111111011111111111"  - a4 b$ `( U$ m7 K
         vNumberData(8) = "11111111111000111101110111011101111000111101110111011101110111011110001111111111"  
    . q/ M' F  f! x- g" X% h     vNumberData(9) = "11111111111000111101110111011101110111011110000111111101111011011110000111111111"  
    6 q; x3 y! s1 D3 }/ g     vNumberData(10) = "11111111111111111111111111111111111111111100000111111111111111111111111111111111"  
    0 s# J8 D+ }' S3 ?6 Y     vNumberData(11) = "11111111111111111111111111111111111111111111111111111111111111111111111111111111"  
    ) Q4 g9 e- k) |) |( ~     '-----------------输出图像文件头 <br> 1 C5 x7 t7 t7 E1 t
         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) &_  
    $ U3 G) Y( H# O" k* m     ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_  7 Y: b. X+ E5 |+ }+ L7 U
         ChrB(0) & ChrB(0) & ChrB(strLen*8) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(10) & ChrB(0) &_  ! i, J6 W9 n8 v& g) C
         ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0)  
    4 ]3 f9 @: k: [. f9 {, E     '------------------输出图像信息头  
    4 a" m; W9 F8 z# v3 G     Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)&_ # w4 B- C- {* `
         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)&_  8 t  }( x! S/ v1 {
         ChrB(196) & ChrB(14) & ChrB(0) & ChrB(0) & ChrB(196) & ChrB(14)&ChrB(0) & ChrB(0) &_  
    4 D. k, \2 N8 f6 G* w      ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)  4 G: V( m5 G# n( ~; Q6 v
         For i = 9 To 0 Step -1     '----------历经所有行  ' g2 l3 x6 P% d3 q' s) _- L: Q7 A, ~
             For ii = 0 To strLen-1     '-------历经所有字  
    : E- `3 l: |% l# J             For iii = 1 To 8 '--------历经所有像素  
    0 j" {8 N  j3 w                '---------逐行、逐字、逐像素地输出图像数据  - R+ O: q; S0 a% h, v; `8 y
                    If Rnd * 99 + 1 < cOdds Then '---------随机生成杂点  
    % |% {1 f5 _2 j1 q                     Response.BinaryWrite rndColor
    ) d$ ^$ E/ j: b5 a% u7 a0 T0 j                Else  
    + u& L9 i" q% @, O4 M) R                     Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 8 + iii, 1))  
    7 h# @, f) l5 d5 o' q2 O' _7 V                End If  # x0 k0 @) a5 L% J8 B* ]
                 Next  
    " |/ w1 Q5 q/ f/ w         Next  
    8 f+ x- W6 B) g; I     Next  * A4 g. S# o, i) N# N$ l, |
    End Sub
    * R: D, Q5 B" }4 ?! O0 S$ n; f/ g%>
    $ U" @+ V1 U2 \- ~. k
    + i) A. R! H7 ?5 ~6 t8 q0 D      将以上代码保存为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 下一条

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