下沙论坛

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

用新浪微博连接

一步搞定

QQ登录

QQ登录

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

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

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

    [LV.1]初来乍到

    跳转到指定楼层
    1
    发表于 2009-4-16 08:44:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    作用:用ASP程序将页面中的电话号码生成图片格式。 以下是引用片段:+ @; y! ~" \) g+ a. U" o
    <%
    0 Y; A0 B- Q% sCall Com_CreatValidCode(Request.QueryString("tel"))  
    0 c  f: b, T$ t( d  V& GPublic Sub Com_CreatValidCode(pTel)  . i: n* I6 D% c1 ^; R4 J) `
         '----------禁止缓存  
    * O- G' ~7 z  ~     Response.Expires = 0
    ) x; v, r# U) E3 w  G- E9 S     Response.AddHeader "Pragma","no-cache"  
    . \2 \5 ]  p) R+ C; S7 N7 b- a( ]# ?     Response.AddHeader "cache-ctrol","no-cache"  8 o( Q' s, x' a1 K, z
         Response.C  - B4 n1 J( V. P  m; x
         Randomize  
    - t) H: k) r7 ^5 R# h. {, t% P$ [     Dim i, ii, iii ,rndColor,strLen,sql,rs 5 _) V) u# @4 }+ _, F
         Const cOdds = 5 '------------杂点出现的机率 ; V) Y! n( n, A2 N, ~) V3 Z/ g- n
         Const str="0123456789-"  , Z/ s6 Y7 \' q" I4 q2 ^
         strLen = len(pTel) / H9 I2 P7 v* D# c7 M
         rndColor = ChrB(cint(rnd*255)) & ChrB(cint(rnd*255)) & ChrB(cint(rnd*255))
    0 A+ b) i, h8 K. Y/ ?6 Z     '-----------颜色的数据(字符,背景)  
    $ g6 t8 O  g% O/ U     Dim vColorData(1)  
    4 P, k( ^: d  H     'vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)     '----蓝0,绿0,红0(黑色)  
    0 F! f/ Q: k9 _2 Y# [, `# T     'vColorData(1) = ChrB(255) & ChrB(255) & ChrB(255) '----蓝250,绿236,红211(浅蓝色)  0 _5 a; k3 T1 m! t% {7 e$ b9 w
         'vColorData(0) = ChrB(197) & ChrB(106) & ChrB(49)     '---- 蓝0,绿0,红0(黑色)  
    9 |2 K6 k; ^" Q" w; G0 G     'vColorData(1) = ChrB(238) & ChrB(210) & ChrB(193) '-----蓝250,绿236,红211(浅蓝色)  7 G6 {3 w: `+ v0 f+ ?8 o' q
         vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)     '---------蓝0,绿0,红0(黑色)  6 F9 ~* i7 h% G, B$ ?' j9 b5 V3 v
         vColorData(1) = ChrB(205) & ChrB(237) & ChrB(245) '------------蓝250,绿236,红211(浅蓝色)  
    ( `3 `' e8 Z& a6 N1 a     '--------------------随机产生字符  
    ; V' @" @3 d1 x6 c1 g, ^     Randomize 4 G+ R; }& |1 p1 U$ _. \# [! X
         Dim vCode()
    ; d0 w0 ~3 A( Z9 b     redim vCode(strLen-1) & U' S% U7 u# m
         For i = 0 To strLen-1 0 H# c* @2 U  W0 r/ p
             vCode(i) =instr(1,str,mid(pTel,i+1,1),1)-1 * N  z. G) k$ |; ]  B5 Y) i( h2 D  h
         Next  / ^2 i- S# M. c
         '-----------字符的数据  9 A2 I& ^- `. b( a" q" ]; M* h% d
         Dim vNumberData(11)  6 T( H7 S/ m: O  Q$ A9 g+ O1 T- l
         'Verdana Font
    $ [# N% O, x4 N; d6 Q     vNumberData(0) = "11111111111000111101110111011101110111011101110111011101110111011110001111111111"  8 A: G- S8 t. ^+ l
         vNumberData(1) = "11111111111101111110011111110111111101111111011111110111111101111110001111111111"  0 N. W: T  R  k: a; }; Y
         vNumberData(2) = "11111111111000111101110111011101111110111111011111101111110111111100000111111111"  
    # j& w; }* G$ @$ |: f' b     vNumberData(3) = "11111111111000111101110111111101111100111111110111111101110111011110001111111111"  + F: v. Q/ R( c
         vNumberData(4) = "11111111111110111111001111101011111010111101101111100001111110111111100111111111"  
    / z' f, W: X' t9 ~" b  E1 |8 u     vNumberData(5) = "11111111110000011101111111011111110000111111110111111101110111011110001111111111"  4 N1 v1 P* u: U
         vNumberData(6) = "11111111111000111101101111011111110000111101110111011101110111011110001111111111"  
    . Y" i/ P: o( ?  s, j& p/ P. \     vNumberData(7) = "11111111110000011101101111111011111101111111011111110111111101111111011111111111"  ! g/ v; x: E9 ]
         vNumberData(8) = "11111111111000111101110111011101111000111101110111011101110111011110001111111111"  
    9 i+ Q+ r+ N" c6 t$ E+ V" k     vNumberData(9) = "11111111111000111101110111011101110111011110000111111101111011011110000111111111"  ! P8 @0 G7 d. \
         vNumberData(10) = "11111111111111111111111111111111111111111100000111111111111111111111111111111111"  + W" G2 L( `) w- g
         vNumberData(11) = "11111111111111111111111111111111111111111111111111111111111111111111111111111111"  # q" i6 x- h: Z, i% }5 Q* v
         '-----------------输出图像文件头 <br>
    ) }' |. S6 ~  Z( H     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) &_  / J& j5 l1 H( m, L/ a
         ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_  2 X. G; ^2 r" u7 `/ W" a0 k( ~
         ChrB(0) & ChrB(0) & ChrB(strLen*8) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(10) & ChrB(0) &_  ' m, n" Z* j5 K. k: B
         ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0)  
    - f5 j  e3 `% T6 R6 d+ O# S     '------------------输出图像信息头  
    ' g/ u- b9 a' i2 ^$ ]" d/ X     Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)&_ , O4 [  `5 z/ T5 k0 J
         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)&_  
    + {* y- A1 _' k3 O' T. z" c! Z     ChrB(196) & ChrB(14) & ChrB(0) & ChrB(0) & ChrB(196) & ChrB(14)&ChrB(0) & ChrB(0) &_  
    + f9 k* ~+ h$ D* k) ~; ]- l      ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)  
    1 D8 [1 O; {1 @9 \! Z* ~     For i = 9 To 0 Step -1     '----------历经所有行  
    " c' T" O2 v( S$ g! o         For ii = 0 To strLen-1     '-------历经所有字    S3 K3 M% G8 ~
                 For iii = 1 To 8 '--------历经所有像素  
    % d6 S3 x0 ^" M2 B& d- Z                '---------逐行、逐字、逐像素地输出图像数据  9 W) H: b  s1 o- [) C6 y3 z& A' Q' z
                    If Rnd * 99 + 1 < cOdds Then '---------随机生成杂点  
      i6 U7 ]" S( @                     Response.BinaryWrite rndColor $ ^& _  a1 ]: v
                    Else  
    $ x( ~4 H* m8 y7 v; _3 V( B                     Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 8 + iii, 1))  
    / z' N+ R, g3 Q2 ?- N( T                End If  ; U& w% V9 d4 P) s
                 Next  
    . H/ k7 x2 F; V/ B- _         Next  7 {6 y/ e% @0 `* q! D" A/ n4 i
         Next  
    2 W2 e/ r1 M& X- FEnd Sub : i8 \4 a2 k0 j. X0 F7 q
    %> 2 e; A  X% }7 z6 w0 C, O* s

    7 W/ _' j, H3 y/ m+ J+ r      将以上代码保存为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 下一条

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