我在做一个PHP验证码图片的时候无论我把($im,0,0,0); 这三个0改成什么数背景总是黑色,为什么呢?代码如下

<?phpsession_start();for($i=0;$i<4;$i++){$rand.=dechex(rand(1,15));}$_SESSION[check]=... <?php
session_start();
for($i=0;$i<4;$i++){
$rand.=dechex(rand(1,15));
}
$_SESSION[check]=$rand;
$im = imagecreatetruecolor(100,30);
$bg = imagecolorallocate($im,0,0,0);
$te = imagecolorallocate($im,255,255,255);

imagestring($im,rand(1,6),rand(10,60),rand(5,15),$rand,$te);

header("Content-type: image/jpeg");
imagejpeg($im);
?>
展开
 我来答
来自北固山眼开眉展的玉蝶
2012-03-23 · TA获得超过134个赞
知道小有建树答主
回答量:227
采纳率:0%
帮助的人:118万
展开全部
你的这个就是对啊
用我的代码吧
<?php
/*实现验证码图片*/
session_start();
//1、创建一个画布
$image=imagecreate(100,40);
//2、定义颜色
$background=imagecolorallocate($image,200,255,255);//背景颜色
$text_color=imagecolorallocate($image,255,125,125);//字体颜色
$yansucolor=imagecolorallocate($image,255,0,0);//雪花颜色
//3、为画布填充颜色
imagefill($image,0,0,$background);
//4、往画布添加干扰素
for($i=1;$i<rand(100,200);$i++)
{
$x=rand(0,90);
$y=rand(0,40); //添加雪花
imagesetpixel($image,$x,$y,$yansucolor);
}
//添加线段
imageline($image,20,0,80,10,$yansucolor);
imageline($image,0,0,80,40,$yansucolor);
imageline($image,0,20,40,40,$yansucolor);
//5、往画布填充内容
$arr=array("A","B",9,"C","D","E","F",3,"G","H","I","J","K",8,"L","M","N","O",1,"P","Q","R","S","T","U",2,"V","W","X","Y","Z","a","b",7,"c","d","e","f","g",4,"h","i","j","k","l","m","n","o","p","q",6,"r","s","t","u","v",5,"w","x","y","z",0);
for($j=0;$j<6;$j++)
{
$num=rand(0,15);
$str=$str.$arr[$num];
}
$_SESSION[yzm]=$str;
$angle=rand(0,20);//倾斜角度
imagettftext($image,20,$angel,10,30,$text_color,"Greek_i.ttf",$str);
//$num=rand(1000,9999);

//向系统声明
header("Content-type:image/png");
//将php文件转换为图片
imagepng($image);
//释放资源
imagedestroy($image);
?>
追问
谢谢 我主要不是想要代码 我就想知道为什么
追答
看看我的代码的注释吧,你就明白了!
清友灵0cJ
2012-03-23 · TA获得超过251个赞
知道小有建树答主
回答量:450
采纳率:100%
帮助的人:291万
展开全部
<?php
session_start();
for($i=0;$i<4;$i++){
$rand.=dechex(rand(1,15));
}
$_SESSION[check]=$rand;
$im = imagecreatetruecolor(100,30);

$bg = imagecolorallocate($im,0,0,255);
imagefill($im,0,0,$bg); //填充

$te = imagecolorallocate($im,255,255,255);
imagestring($im,rand(1,6),rand(10,60),rand(5,15),$rand,$te);

header("Content-type: image/jpeg");
imagejpeg($im);
?>
背景色设好后需要一个填充。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式