php生成图像,无法在浏览器上显示出来,这是什么原因?

http://img.mukewang.com/572c069b00014db309360059.jpg

星空下的小孩
浏览 3314回答 6
6回答

qq_青枣工作室_0

你的代码有错误啊。 $code=rand(0,9); 要改为 $code .= rand(0,9); imagestring($image, 5, 0, 0, $code, $color); 这里的$color还没定义啊。

广阔天地大有作为

注意一下for循环里边的$code后边是等于 还是 点等于。

慕粉3277040

<?php//绘制验证码(生成)$num=4; //验证码的长度$str = getCode($num,0);// 使用下面的自定义函数,获取需要的验证码值//1. 创建一个画布、分配颜色$width=$num*20;//宽度$height=30;//高度$im = imagecreatetruecolor($width,$height);//创建一个画布//定义几个颜色(输出不同颜色的验证码)$color[] = imagecolorallocate($im,111,0,55);$color[] = imagecolorallocate($im,0,77,0);$color[] = imagecolorallocate($im,0,0,160);$color[] = imagecolorallocate($im,221,111,0);$color[] = imagecolorallocate($im,220,0,0);$bg = imagecolorallocate($im,240,240,240);//背景//2. 开始绘画 imagefill($im,0,0,$bg); imagerectangle($im,0,0,$width-1,$height-1,$color[rand(0,4)]);//随机添加干扰点 for($i=0;$i<200;$i++){ $c = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));//随机一个颜色 imagesetpixel($im,rand(0,$width),rand(0,$height),$c); }  //随机添加干扰线 for($i=0;$i<5;$i++){ $c = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));//随机一个颜色 imageline($im,rand(0,$width),rand(0,$height),rand(0,$width),rand(0,$height),$c); }  //绘制验证码内容(一个一个字符绘制): for($i=0;$i<$num;$i++){ imagettftext($im,18,rand(-40,40),8+(18*$i),24,$color[rand(0,4)],"msyh.ttf",$str[$i]);   //msyh.ttf 为同一个目录下的字体文件 }//3. 输出图像header("Content-Type:image/png");//设置响应头信息(注意此函数实行前不可以有输出)imagepng($im);//4. 销毁图片(释放内容)imagedestroy($im);提供参考貌似你是的 for条件干扰点的 for循环弄错了    仅仅只是提供参考 

晴书文文

格式问题,你在看看

星空下的小孩

没有错啊

qingfa

程序写错了,仔细检查定会有所发现!
打开App,查看更多内容
随时随地看视频慕课网APP