下沙论坛

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

QQ登录

QQ登录

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

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

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

    [LV.1]初来乍到

    跳转到指定楼层
    1
    发表于 2009-4-16 08:44:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    作用:用ASP程序将页面中的电话号码生成图片格式。 以下是引用片段:  d/ o: V$ O1 b2 F
    <%
    , C( E7 w' Z) L! y* o, Z% X) j( bCall Com_CreatValidCode(Request.QueryString("tel"))  
      @( ^0 X, A2 F& XPublic Sub Com_CreatValidCode(pTel)    U  H: `/ ]6 Y
         '----------禁止缓存  
    9 S" H0 m* J8 D. f2 d, H     Response.Expires = 0 # `3 W% e4 T5 N# u2 A
         Response.AddHeader "Pragma","no-cache"  
    & i  W) n9 B1 p5 Y9 ^0 s+ w     Response.AddHeader "cache-ctrol","no-cache"  ; y9 D, Q: d; x- _9 W: L
         Response.C  
    . s( {: p2 t2 g4 n     Randomize  
    9 |6 U! v- B9 a# E     Dim i, ii, iii ,rndColor,strLen,sql,rs ' p) E0 L3 |, V7 V5 G) H
         Const cOdds = 5 '------------杂点出现的机率 1 C/ D1 o; ]: A& b( e
         Const str="0123456789-"  6 C: f: O- N; h1 Z
         strLen = len(pTel)
    5 e( N9 u/ n& |2 V5 J) b9 ]1 B     rndColor = ChrB(cint(rnd*255)) & ChrB(cint(rnd*255)) & ChrB(cint(rnd*255))
    - y/ n! L% ~: L' _6 v% _0 g     '-----------颜色的数据(字符,背景)  4 r: K8 T5 i0 \- U+ m" l  \
         Dim vColorData(1)  
    - ]0 L5 T4 _  x! R4 E1 [5 H     'vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)     '----蓝0,绿0,红0(黑色)  
    % K' _2 X! V" s     'vColorData(1) = ChrB(255) & ChrB(255) & ChrB(255) '----蓝250,绿236,红211(浅蓝色)  * ^4 N' [8 `3 \/ J
         'vColorData(0) = ChrB(197) & ChrB(106) & ChrB(49)     '---- 蓝0,绿0,红0(黑色)  
    - e; R) H; K# f, A; ~1 |2 ^: V     'vColorData(1) = ChrB(238) & ChrB(210) & ChrB(193) '-----蓝250,绿236,红211(浅蓝色)  8 o* ?- U3 r" _5 M! E/ X* @% B
         vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0)     '---------蓝0,绿0,红0(黑色)  ; X7 S& o  h! @$ B+ ?
         vColorData(1) = ChrB(205) & ChrB(237) & ChrB(245) '------------蓝250,绿236,红211(浅蓝色)  / s4 ]; i0 ]4 v# w- N) D
         '--------------------随机产生字符  
    . e; P1 x* w- A9 }     Randomize ! w# a1 }7 M% I( i) y9 a& ~
         Dim vCode() ) K" b5 G# s8 s! d5 |$ k+ f  m
         redim vCode(strLen-1) 6 o$ K2 |, ~/ r  [* k- C0 W
         For i = 0 To strLen-1
    % w# v9 E# B  ], C+ E4 q" r8 d         vCode(i) =instr(1,str,mid(pTel,i+1,1),1)-1 3 R! ?, ^. M- _8 Y- u1 u2 _6 p2 D
         Next  5 m/ \$ Z- M- V$ u5 i
         '-----------字符的数据  
    . F/ v, T) M1 r: c     Dim vNumberData(11)  ) |% s" h5 g* W3 ?- L- U
         'Verdana Font
    ( m8 G3 F7 N; ~3 a0 i     vNumberData(0) = "11111111111000111101110111011101110111011101110111011101110111011110001111111111"  
    7 {+ x; R! Z. c2 I! K     vNumberData(1) = "11111111111101111110011111110111111101111111011111110111111101111110001111111111"  
    ; u4 a2 t- L4 f7 y6 Z7 z     vNumberData(2) = "11111111111000111101110111011101111110111111011111101111110111111100000111111111"  , C, q' \) a; E3 M$ j! E
         vNumberData(3) = "11111111111000111101110111111101111100111111110111111101110111011110001111111111"  , {+ v8 ^4 p8 p+ \- y
         vNumberData(4) = "11111111111110111111001111101011111010111101101111100001111110111111100111111111"  
    8 a/ i+ A& p: j     vNumberData(5) = "11111111110000011101111111011111110000111111110111111101110111011110001111111111"  
    * n* b, J+ L% @% m" `) [  q     vNumberData(6) = "11111111111000111101101111011111110000111101110111011101110111011110001111111111"  
    " T( n( Z! d6 T/ q1 X     vNumberData(7) = "11111111110000011101101111111011111101111111011111110111111101111111011111111111"  ) B7 I* k; }( X* @$ ?8 K( j7 E% G
         vNumberData(8) = "11111111111000111101110111011101111000111101110111011101110111011110001111111111"  / L5 r( B2 L# X5 [( V, h
         vNumberData(9) = "11111111111000111101110111011101110111011110000111111101111011011110000111111111"  
    : t3 [3 I1 @5 ]# ^( |7 _! N     vNumberData(10) = "11111111111111111111111111111111111111111100000111111111111111111111111111111111"  
      h: @: L: ~' W1 d9 B     vNumberData(11) = "11111111111111111111111111111111111111111111111111111111111111111111111111111111"  
    + s* C4 c+ I/ C6 w     '-----------------输出图像文件头 <br>
    / g. R* O) q8 n' a) ?     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) &_  0 K; \# W$ d1 O9 K+ ]
         ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_  ! N" g; k- s0 S$ f% M
         ChrB(0) & ChrB(0) & ChrB(strLen*8) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(10) & ChrB(0) &_  
    . Y( W' {1 c: d0 y: J4 O     ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0)  + u6 J3 I" O& t# w  z& W& U
         '------------------输出图像信息头  
    ( _8 C- v. K' {     Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)&_ , x- }9 R# ~9 \/ E) X9 i& d
         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)&_  . }+ S3 m. B1 T+ g; N
         ChrB(196) & ChrB(14) & ChrB(0) & ChrB(0) & ChrB(196) & ChrB(14)&ChrB(0) & ChrB(0) &_  * E2 @' V& _% c! H5 L
          ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)  
    ; \9 t; q" J- W' s; H$ o     For i = 9 To 0 Step -1     '----------历经所有行  
    / u. I/ T3 H$ o/ r3 O" w% T         For ii = 0 To strLen-1     '-------历经所有字  8 \/ h) D! j: `' e4 f$ U3 l1 g) M
                 For iii = 1 To 8 '--------历经所有像素  3 v4 l  J$ B. B' {1 S8 |
                    '---------逐行、逐字、逐像素地输出图像数据  ( h8 U8 H# C& h$ g" N! l' Z
                    If Rnd * 99 + 1 < cOdds Then '---------随机生成杂点  4 n% P. x$ i# M0 y; C$ W+ u
                         Response.BinaryWrite rndColor
    : G# h0 ^- u' S: d- e$ F                Else  
    + t' S5 l& B; c. G8 J                     Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 8 + iii, 1))  
    1 o, B8 c# F& L, ?' X! q% q                End If  
    % q2 C1 E3 u. b0 [- h3 ^             Next  ) n3 V8 {" ?4 ]
             Next    l- t! m; }6 ?9 q
         Next  % _) T7 w* z; V, J3 n  M
    End Sub 5 y4 d! R* {* v/ U, U) z
    %> 7 E: w" T- ^) q
    1 J9 u; f  E7 [' w
          将以上代码保存为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 下一条

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