<?php session_start(); $arr = array( 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x', 'y','z','0','1','2','3','4','5','6','7','8','9' ); $rand = ""; for($i=1;$i<=4; $i++){ //随机产生4个由不同字母与数字组合成的验证码 $rand .= $arr[rand(0,count($arr)-1)]; } $_SESSION['check_pic'] = $rand; //生成图片 $im = imagecreatetruecolor(100,30); //生成颜色,当第一次调用生成颜色的方法,是生成背景颜色 $bg = imagecolorallocate($im,0,0,0); //第二次调用这个方法,是可以生成图片上面的文字或其他样式的颜色 $te = imagecolorallocate($im,255,255,255); //在图片上面生成文字 imagestring($im,rand(1,5),rand(3,70),rand(3,15),$rand,$te); //要把php当成图片输出,必须给文件一个头申明 ob_clean(); header("Content-type:image/jpeg"); //最终生成图片 imagejpeg($im); ?>
imagecreatetruecolor(宽,高); 图片宽高
imagecolorallocate(图片,红,绿,蓝) 调用(三原色)生成颜色的方法,是生成背景颜色
imagestring(图片,字体大小,字所在的x轴,字所在的y轴,要显示的验证码,字体颜色)
header 要把php当成图片输出,必须给文件一个头申明
imagejpeg(图片) 生成图片