改成 imagefill($im,0,0,$gray); 

解决方案 »

  1.   

    第二个文件改成这样就可以了:
    <?php
       /* 
        *   Filename:    authimg.php 
        *   Author:   hutuworm 
        *   Date:   2003-04-28 
        *   @Copyleft    hutuworm.org 
        */    //生成验证码图片 
            Header("Content-type: image/PNG");  
            srand((double)microtime()*1000000); 
            $im = imagecreate(58,28); 
            $black = ImageColorAllocate($im, 0,0,0); 
            $white = ImageColorAllocate($im, 255,255,255); 
            $gray = ImageColorAllocate($im, 200,200,200); 
            imagefill($im,0,0,$gray);    //将四位整数验证码绘入图片 
            imagestring($im, 5, 10, 8, $HTTP_GET_VARS['authnum'], $black);         for($i=0;$i<50;$i++)   //加入干扰象素 
            { 
                    imagesetpixel($im, rand()%70 , rand()%30 , $black); 
            }         ImagePNG($im); 
            ImageDestroy($im); 
    ?>
      

  2.   

    另外可以不用干扰素,把数字变成随机彩色即可
    这是我改过的一部分,可以实现彩色数字。你可以增加颜色数组来增加彩色效果$c[0] = ImageColorAllocate($im, 0,0,0); 
    $c[1] = ImageColorAllocate($im, 255,255,255); 
    $c[2] = ImageColorAllocate($im, 255,0,255);
    $c[3] = ImageColorAllocate($im, 255,0,0);
    $c[4] = ImageColorAllocate($im, 200,200,200); 
    imagefill($im,0,0,$c[4]); 
    for($i=0,$num='';$i<4;$i++)
    {$authnum=rand(0,9);
    $num.=(string)$authnum;
    imagestring($im, 5, ($i*12+8), 3, $authnum, $c[rand(0,3)]);
    }
      

  3.   

    用NERO 6。0录完直接就可以刻成CD了!