按照老师的来,我一开始没有加入白点的时候,怎么背景也是全黑的

来源:1-3 PHP验证码制作之环境搭建

notmatter

2016-05-19 17:27

我除了有一个黑色的png,我的电脑整个背景都是黑色的

写回答 关注

5回答

  • chanson1216
    2016-09-21 22:36:43

    http://img.mukewang.com/57e29ad10001b26312390882.jpg

    <?php
        
        $image=imagecreatetruecolor(100,30);
        
        
        $bgcolor = imagecolorallocate($image ,255,255,255);
        
        imagefill($image,0,0,$bgcolor);
        
        header('content-type:image/png');
        imagepng($image);
        
        imagedestroy($image);
        
    ?>

    【??】为啥我的会出现这种情况?

    chanso...

    哦哦,是浏览器问题

    2016-09-21 22:43:49

    共 1 条回复 >

  • notmatter
    2016-05-24 19:20:28

    我真是,无奈了,我保证我什么都没动,两天过后我又打开,图片就有了

  • notmatter
    2016-05-22 11:47:51

    http://img.mukewang.com/57412bd30001050205170327.jpg

    这是我的图片

  • notmatter
    2016-05-22 11:46:02

    <?php
          
        session_start();
          
        $image=imagecreatetruecolor(100,30);//创建一个宽100,高30的图片
       $bgcolor=imagecolorallocate($image,255,255,255);
        imagefill($image,0,0,$bgcolor);//将白色$bgcolor填充底图,从左上角填充到右上角
        
     /*   
         for($i=0;$i<4;$i++) //增加数字
         {             
         $fontsize=6;//定义数字的字体大小
         $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));//在这张图片资源上申请一个颜色,就是数字的颜色
         $fontcontent=rand(0,9);//数字的内容,随机生成0-9
          $x=($i*100/4)+rand(5,10);//坐标来标识随机数字写在哪里
          $y=rand(5,10);
         imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);//在$image的图像资源上,画随机数字
        }
    */
      $captch_code='';
       for($i=0;$i<4;$i++)//增加字母和数字
    {
          $fontsize=6;
          $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
          

          $data='abcdefghijkmnpqrstuvwxyz23456789';
          $fontcontent=substr($data,rand(0,strlen($data)),1);
           
           $captch_code.=$fontcontent;   //将生成的内容加入到空字符$captch_code中
          
           $x=($i*100/4)+rand(5,10);
           $y=rand(5,10);
         imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
        }
      $_SESSION['authcode']=$captch_code;



      for($i=0;$i<200;$i++)//增加200个以内的随机点
    {
         $pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));//生成点的颜色
         imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);//
    }
    for($i=0;$i<3;$i++)//增加线
    {
         $linecolor=imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,220));
         imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
    }
         header('content-type: image/png');//表明输出内容的格式
        imagepng($image);//输出&image
    //end
      imagedestroy($image);//销毁&image
    ?>




    <?php
     header("content-type:text/html;charset=gb2312");
     if(isset($_REQUEST['authcode'])){
     session_start();
     if(strtolower($_REQUEST['authcode'])==$_SESSION['authcode']){
     echo '<font color="#0000CC">输入正确</font>';
     }else{
     echo '<font color="#CC0000"><b>输入错误</b></font>';
     }
     exit();
     }
    ?>


    <!DOCTYPE html>
    <html>
       <head>
          <meta charset="utf-8" />
           <title>确认验证码</title>
      </head>
      <body>
           <form method="post" action="./form.php">
               <p>验证码图片: <img border="1" src="./captcha.php?r=<?php echo rand();?>" width="100px" height="30px"></p>
               <p>请输入图片中的内容: <input type="text" name="authcode" value=""/></p>
               <p><input type="submit" value="提交"  style="padding:6px 20px;"></p>
           </form>
      </body>
    </html>
        

  • HxString
    2016-05-21 00:20:08

    因为函数imagecreatetruecolor();返回的默认是以黑色为背景的

    HxStri... 回复notmat...

    给你看什么?

    2016-05-22 09:35:23

    共 2 条回复 >

PHP实现验证码制作

各种形态验证码核心原理与实现技巧,讲解实现过程中的技术难点

37929 学习 · 336 问题

查看课程

相似问题