老师,为什么只有一个字母?
mycode.php
<?php
//生成验证码
$im = imagecreatetruecolor(400,200);
$back = imagecolorallocate($im,mt_rand(200,250),mt_rand(200,250),mt_rand(200,250));
imagefill($im,0,0,$back);
//生成随机字符串
$string = 'abcdefg123456789ABCDEFGHIGK';
//生成随机字符串
for($i=0;$i<4;$i++)
{
//创建字体颜色
$stringColor = imagecolorallocate($im,mt_rand(50,150),mt_rand(50,150),mt_rand(50,150));
$str = $string[mt_rand(0,strlen($string)-1)];
imagettftext($im,15,mt_rand(-10,10),20+$i*15,100,$stringColor,'font/comicz.ttf',$str);
}
//图像中写入字符串
imagestring($im,5,mt_rand(20,imagesx($im)-50),mt_rand(10,imagesy($im)),$str,$stringColor);
ob_clean();
header('Content-Type:image/png');
imagepng($im);
----------------------------------------------
正在回答
您好,字符显示不同颜色参考如下:
<?php //生成验证码 $im = imagecreatetruecolor(400,200); $back = imagecolorallocate($im,mt_rand(200,250),mt_rand(200,250),mt_rand(200,250)); imagefill($im,0,0,$back); //生成随机字符串 $string = 'abcdefg123456789ABCDEFGHIGK'; //生成随机字符串 for($i=0;$i<4;$i++) { //创建字体颜色 $stringColor = imagecolorallocate($im,mt_rand(50,150),mt_rand(50,150),mt_rand(50,150)); // 会将获取的随机数拼接在一起 $str = $string[mt_rand(0,strlen($string)-1)]; imagettftext($im,15,mt_rand(-10,10),20+$i*15,100,$stringColor,'font/comicz.ttf',$str); } header('Content-Type:image/png'); imagepng($im);
祝学习愉快!
同学你好,因在循环中生成的字符串没有进行拼接导致在循环中进行覆盖。代码如下:
<?php //生成验证码 $im = imagecreatetruecolor(400,200); $back = imagecolorallocate($im,mt_rand(200,250),mt_rand(200,250),mt_rand(200,250)); imagefill($im,0,0,$back); //生成随机字符串 $string = 'abcdefg123456789ABCDEFGHIGK'; //生成随机字符串 for($i=0;$i<4;$i++) { //创建字体颜色 $stringColor = imagecolorallocate($im,mt_rand(50,150),mt_rand(50,150),mt_rand(50,150)); // 会将获取的随机数拼接在一起 $str .= $string[mt_rand(0,strlen($string)-1)]; imagettftext($im,15,mt_rand(-10,10),20+$i*15,100,$stringColor,'font/comicz.ttf',$str); } //图像中写入字符串 imagestring($im,5,mt_rand(20,imagesx($im)-50),mt_rand(10,imagesy($im)),$str,$stringColor); ob_clean(); header('Content-Type:image/png'); imagepng($im);
祝学习愉快!
- 参与学习 人
- 提交作业 225 份
- 解答问题 3372 个
掌握用PHP开发互联网网站的必备功能,掌握当下主流的Linux系统开发,并熟练使用热门框架ThinkPhp开发电商团购项目,是通向PHP工程师必经之路。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星