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




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

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

$img=imagecreatetruecolor(70,25);3 J$ ^; Q8 d' y4 e) p+ r
//创建画布/ Q8 T, n6 L1 N' c; W& S
$bgimg=imagecreatefromjpeg("backgroud/background".rand(1,8).'.jpg');
( a! P) N0 q% j0 W7 q) d. E. V//生成背景图片
0 T7 M9 X3 {1 `$bg_x=rand(0,130);& w0 W4 V: h2 {  ]
//随机招贴画布起始X轴坐标
! Q# k6 V" a/ Q) x; X3 f$bg_y=rand(0,55);
8 x0 _( K( M  i9 n9 [//随机招贴画布起始Y轴坐标0 c0 g, V$ o( T1 |
imagecopy($img,$bgimg,0,0,$bg_x,$bg_y,$bg_x+70,$bg_y+25);
  ?8 z- b8 H" v2 @1 G) ^" h- M//把背景图片$bging粘贴的画布上

//生成随机字符串4 K  g, k" a1 j5 J4 I  C" _
function creaStr($len){2 j+ O+ [$ K; f$ u# A3 |# c
     $arr1=range(0,9);& F4 S2 ~- d4 K! h1 _$ r
     $arr2=range(a,z);2 B/ F; `! V8 L% \! V% p
     $arr3=range(A,Z);3 g/ z8 q$ o  `: ~3 k" r8 I
     $arr=array_merge($arr1,$arr2,$arr3);
9 X$ ]' k! _- C$ c     str_shuffle($arr);
, B$ u, t; n  \# @4 d" f4 n% D/ x     $str="";9 ^8 ]2 G, E5 v' _/ Z
     for($i=0;$i<$len;$i++){
3 M5 D$ w7 ?! ^  v            $str.=$arr[rand(0,61)];0 m1 ]8 {7 a' t: M: u6 p4 j: `
     }
8 o8 }  o$ F, n6 L/ {    return $str;
2 [3 V  Y- ]8 B5 z  @& }}

$font='Astarisborn.TTF'; //字体
$ b" R* y. S5 G" y' F5 T7 ], H7 x! K$str=creaStr(4); //字符串
# z7 z, s4 c3 [for($i=0,$j=5;$i<4;$i++){
( |5 j5 U" [2 M& `      $array = array(-1,1);& O5 n" _: j. X3 R7 F# P; t, d2 b
      $p = array_rand($array);
  Q. E) _0 s5 h# A      $an = $array[$p]*mt_rand(1,10); //扭曲角度
6 i: Z5 x( |, y- O/ j3 q      $size = 14;//字体大小+ [6 y( V( `7 a) ~
      imagettftext($img, $size, $an, $j,rand(13,20),imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100)), $font, $str[$i]);//生成验证字符窜# S+ _* |0 y" Q6 H$ I
      $j+=15;
" B6 Z9 ]9 o# G( z# X! J}5 |' T7 s8 P$ W1 J8 Y- Q
header('Content-type:image/png');, U, |1 S8 W- r8 {4 ^
imagepng($img);
( t3 L2 _4 a9 Z+ k! n6 gimagedestroy($img);


0 l  V" S: p7 j; F. O7 C0 e6 k0 {7 d/ x4 E+ E
参考:; ?7 Z% t$ {9 r" u
http://blog.csdn.net/redhat_520/article/details/7652103http://blog.csdn.net/yanhui_wei/article/details/7985225
6 p% R: f3 k+ Z* ?2 `) shttp://www.t086.com/code/php/function.php-ImageTTFText.php
% K2 Q' e+ \6 j3 P0 @7 B5 u6 |  L, qhttp://www.t086.com/code/php/group.php-20.php


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