GD库的函数 1,imagecreatetruecolor -----创建一个真彩色的图像 imagecreatetruecolor(int x_size,int y_size) //x表示宽,y表示高 2,imagecolorallocate 为一幅图像分配颜色(调色板) imagecolorallocate(resource image,int red,int green,int blue)//red,green,blue----三原色 3,imagestring 绘图函数 iamgestring(resource image,font,int x,int y,内容,颜色); 4,输出函数 php的header是定义头的动作,php5中支持3中类型: 1,Content-type:xxxx/yyyy 2,Location:xxxx:yyyy/zzzz 3,Status:nnn xxxxxx xxxx/yyyy表示内容文件的类型 如:image/gif image/jpeg image/png 例子:header("Content-type:image/jpeg") GD库中有对应的image类型 imagejpeg(),imagegif(),imagepang() 5,imageline画线函数 iamgeline(resource image,int x1,int y1,int x2,int y2,int color); image ---图片 x1 ---启始坐标 y1 x2 ---终点坐标 y2 6,imagesetpixel画点函数 imagesetpixel(resource image,int color) 7,imagettftext带字体的写入函数 imagettftext(resource image,float size,float angle,int color,string fontfile,string text) 8,php验证码插入中文的方法 iconv("gb2312","utf-8","字符串"); //首先要将文字转换成utf-8格式 9,随机函数 1,rand([int min,int max]) //rand(1,4) 生成1-4的数 2,dechex(十进制数) //转换为十六进制 做验证码的步骤: 生成随机数 -- 创建图片 -- 随机数写成图片 --保存在session中 输入验证码例子 gdchek.php <div class="codetitle"><a style="CURSOR: pointer" data="19355" class="copybut" id="copybut19355" onclick="doCopy('code19355')"> 代码如下:<div class="codebody" id="code19355"> <?php / 生成图片验证码 and open the template in the editor. / session_start(); for($i=0;$i<4;$i++){ $rand.=dechex(rand(1,15)); //生成4位数包含十六进制的随机数 } $_SESSION[check_gd]=$rand; $img=imagecreatetruecolor(100,30); //创建图片 $bg=imagecolorallocate($img,0); //第一次生成的是背景颜色 $fc=imagecolorallocate($img,255,255); //生成的字体颜色 //给图片画线 for($i=0;$i<3;$i++){ $te=imagecolorallocate($img,rand(0,255),255)); imageline($img,15),100,30,$te); } //给图片画点 for($i=0;$i<200;$i++){ $te=imagecolorallocate($img,255)); imagesetpixel($img,rand()%100,rand()%30,$te); } //首先要将文字转换成utf-8格式 //$str=iconv("gb2312","呵呵呵"); //加入中文的验证 //smkai.ttf是一个字体文件,为了在别人的电脑中也能起到字体作用,把文件放到项目的根目录,可以下载,还有本机C:WINDOWSFonts中有 imagettftext($img,11,10,20,$fc,"simkai.ttf","你好你好"); //把字符串写在图片中 //imagestring($img,rand(1,6),rand(3,70),16),$rand,$fc); //输出图片 header("Content-type:image/jpeg"); imagejpeg($img); ?> login.php <div class="codetitle"><a style="CURSOR: pointer" data="11069" class="copybut" id="copybut11069" onclick="doCopy('code11069')"> 代码如下:<div class="codebody" id="code11069"> <?php / / session_start(); if($_POST[sub]){ //判断验证码是否相同 if($_POST[gd_pic]==$_SESSION[check_gd]){ echo "验证成功!"; }else{ echo "验证码错误"; } } ?> <form action="login.php" method="POST"> 用户名:<input type="text" name="user"/> 密码:<input type="password" name="pwd"/> 验证码:<imput type="text" name="gd_pic"/><img src="gdchek.php"> <imput type="submit" name="sub" value="submit"/>
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|