$7.49 .com domain with free InstantPage Website Builder$1.99 Web Hosting   捷飞网络官方淘宝店   Godaddy 优惠码
返回列表 发帖
分享到:




[PHP 语言] [分享]PHP 验证码可设置字体(大小),可换背景图片,可扭曲角度

//若以下代码有错或不足,请在评论中指出

$img=imagecreatetruecolor(70,25);+ G/ K3 d! F$ X
//创建画布
7 e4 m  R5 \0 u2 M& w- m$bgimg=imagecreatefromjpeg("backgroud/background".rand(1,8).'.jpg');1 C' S. c. ?- T4 ~' W. ]5 ~
//生成背景图片
* ]* c  p: c! f( \" N$bg_x=rand(0,130);
/ g6 E2 S* h' z* _6 Q4 P- X//随机招贴画布起始X轴坐标0 c9 G. F/ O- E6 r4 \  V1 W
$bg_y=rand(0,55);/ t5 I9 Z' j' k) m- j8 g( n/ z9 Z
//随机招贴画布起始Y轴坐标* T% C0 W5 y' q' _* x
imagecopy($img,$bgimg,0,0,$bg_x,$bg_y,$bg_x+70,$bg_y+25);
: L( H/ A! e) t! m' _( I//把背景图片$bging粘贴的画布上

//生成随机字符串: U) M9 Y& l, _; d0 p% b0 g+ K
function creaStr($len){  I+ X( }3 Z5 m4 n: m9 _
     $arr1=range(0,9);1 J# j4 b  c% J( I* c2 r: D& v
     $arr2=range(a,z);/ s* r5 b4 {$ [' ]+ Q% k
     $arr3=range(A,Z);
2 R: n. |# i$ X     $arr=array_merge($arr1,$arr2,$arr3);# Y  F9 w# t& y/ ]0 ^% G: U
     str_shuffle($arr);
- u7 ~6 w9 e( n     $str="";9 L3 X: c6 z6 f& w4 ?
     for($i=0;$i<$len;$i++){+ K5 ]; J. n3 ~/ X5 P: E# b* |
            $str.=$arr[rand(0,61)];0 f# N4 r  x& F6 k
     }
2 k1 E. u1 E2 Z- j( p/ H    return $str;; d3 _9 v8 h" m
}

$font='Astarisborn.TTF'; //字体
* q: d; j0 x5 U5 ?1 q- `. J. o$str=creaStr(4); //字符串
7 z# ^  |$ w8 ~1 ]% W% Ofor($i=0,$j=5;$i<4;$i++){
! _: x9 r* r, p" h% c- D: T& o      $array = array(-1,1);6 o) w" J1 k# U0 W1 V: U6 g$ S
      $p = array_rand($array);
& ^+ A+ V9 f9 |; x& {  w! g      $an = $array[$p]*mt_rand(1,10); //扭曲角度
' k8 t8 ?6 K) x' E0 d& j2 |- p/ j      $size = 14;//字体大小( M$ I; c: |( n" C) w
      imagettftext($img, $size, $an, $j,rand(13,20),imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100)), $font, $str[$i]);//生成验证字符窜
" W4 g& q9 ?; A( k: F! [5 B      $j+=15;& _) X, y% r( p1 g
}
0 r0 }: o& p; P/ eheader('Content-type:image/png');
9 \# c3 {+ V1 }. D- u6 z0 `/ X$ nimagepng($img);
2 |2 j% Z* k) q7 e0 x7 k8 W. Cimagedestroy($img);

' @% v0 j& j8 P" |& R

. `8 O$ j  z/ c& Q+ U/ T参考:( z/ ~2 w% |" ]' A6 E- K0 d
http://blog.csdn.net/redhat_520/article/details/7652103http://blog.csdn.net/yanhui_wei/article/details/79852259 {0 x& s& K: x3 e: o
http://www.t086.com/code/php/function.php-ImageTTFText.php
7 T( U5 [! d& {9 Y/ u' T# L/ L5 G" hhttp://www.t086.com/code/php/group.php-20.php


返回列表
Namecheap
Namecheap.com - Cheap domain name registration, renewal and transfers - Free SSL Certificates - Web Hosting
互联网安全