为了账号安全,请及时绑定邮箱和手机立即绑定

哪位大佬能解答我一下。。chars返回时数据是没问题的但是无法再画布上显示。。

这个 是按老师课程编的image.func

<?php
require_once '../lib/string.func.php';
$width=160;
$height=50;
$image=imagecreatetruecolor($width, $height);
$white=imagecolorallocate($image, 255, 255, 255);
$black=imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 1, 1, $width-2, $height-2, $white);
$chars=buildRandomString(5);
echo $chars;$sess_name="verify";
$_SESSION[$sess_name]=$chars;
$fontfiles=array("ahronbd.ttf", "andlso.ttf","FZLTCXHJW.TTF","hakuyoxingshu7000.TTF");
for($i=0;$i<5;$i++){    
$size=mt_rand(14, 18); 
   $angle=mt_rand(-15, 15);  
     $x=5+$i*$size;  
       $y=mt_rand(20, 40);
           $fontfile="../fonts/".$fontfiles[mt_rand(0, 4)]; 
              $text=substr($chars, $i,1);
                  imagettftext($image, $size, $angle, $x, $y, $black, $fontfile, $text);}
                  ob_clean();
                  header("content-type:image/gif");
                  imagegif($image);
                  imagedestroy($image);

  这个是string.func的,为了避免出乱子我直接把类型写死了,然后再取值,这部分出来的字符串也是没问题的

<?php
function buildRandomString($length){    
$chars=join("",array_merge(range("a","z"),range("A","Z"),range(0,9)));    
$chars=str_shuffle($chars);    
$chars=substr($chars, 0,$length);    
return $chars;}

https://img1.sycdn.imooc.com//5ceb95390001eeda08220502.jpg

这里我就在image.func调用了一下string.func中的字符串生成函数,其他部分都用/**/注释掉了,说明我字符串是被调用出来了,但是无法再画布上显示,我都快要崩溃了,不想搞这个了,但是又怕后面的内容和这一块有关,大约一个星期我就要去答辩去了,哪位大神解救我一下啊。

https://img1.sycdn.imooc.com//5ceb95390001f39e07120117.jpg


正在回答

2 回答

imagettftext()需要freeType支持,可以改用imagestring()

0 回复 有任何疑惑可以回复我~

试了一下你的代码,我用的自己的字体,可以输出的,是不是你的字体右问题,把字体写死,多试几个字体

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
手把手教你实现电商网站后台开发
  • 参与学习       117294    人
  • 解答问题       1999    个

手把手教你用PHP搭建电子商务平台,由浅入深教你搭建电商系统

进入课程

哪位大佬能解答我一下。。chars返回时数据是没问题的但是无法再画布上显示。。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信