public function code()
{ //主要参数
if($font_size == 0) $font_size = 20;
if($img_width == 0) $img_width = 110;
if($img_height == 0) $img_height = 50;
if($word_type == 0) $word_type = 3; // 1:数字 2:英文 3:混合
$font_file = 'E:\phpStudy\PHPTutorial\WWW\thinkphp_3.2.3_full\Application\Home\Controller\SIDESHOW.TTF';//字体的路径 //创建图片,并设置背景色
$im = @imagecreate($img_width, $img_height);
imagecolorallocate($im, 192,192,192); //获取随机字符
if($word_type == 1) {
$verifyCode = implode('', range(2, 9));
}elseif ($word_type == 2) {
$verifyCode = implode('', range('A', 'Z'));
}else{
$verifyCode = implode('', array_merge(range(2, 9),range('A', 'Z')));
$verifyCode = str_replace(array('I','O'), array('P','N'), $verifyCode);
}
//打乱字符串
$verifyCode = str_shuffle($verifyCode);
$rndstring = substr($verifyCode,0,4);
//echo $rndstring;exit; $rndcodelen = strlen($rndstring); //干扰线
for($i = 0; $i < 5; $i++) {
$color = imagecolorallocate($im, 0, 0, 0);
imageline($im, rand(0, $img_width), rand(0, $img_height), rand(0, $img_width), rand(0, $img_height), $color);
} //画边框
//$bordercolor = imagecolorallocate($im, 0, 0, 0);
//imagerectangle($im, 0, 0, $img_width-1, $img_height-1, $bordercolor); //输出文字
for($i = 0;$i < $rndcodelen;$i++){
$rndstring[$i] = strtoupper($rndstring[$i]);
$c_fontColor = imagecolorallocate($im, 0, 0, 0);
$y_pos = $i == 0 ? 10 : $i * ($font_size + 8);
$c = mt_rand(0, 15);
imagettftext($im, $font_size, $c, $y_pos, 35, $c_fontColor, $font_file, $rndstring[$i]);
}
header("Pragma:no-cache\r\n");
header("Cache-Control:no-cache\r\n");
header("Expires:0\r\n");
if(function_exists("imagejpeg")){
header("content-type:image/jpeg\r\n");
imagejpeg($im);
}else{
header("content-type:image/png\r\n");
imagepng($im);
}
imagedestroy($im);
exit();
}

生成的是这样的,原因在于字体的路径加载不道,红色部分改成自己服务器的路径

更改了字体的路径以后  就可以正常显示了

php使用imagettftext()函数有干扰线但是没有文字的问题解决的更多相关文章

  1. PHP生成带有干扰线的验证码,干扰点、字符倾斜

    PHP生成验证码的类代码,本验证码类支持生成干扰点.干扰线等干扰像素,还可以使字符倾斜.在类中你可以定义验证码宽度.高度.长度.倾斜角度等参数,后附有用法: <?php class class_ ...

  2. django-simple-captcha 验证码干扰线随机点位

    CAPTCHA_NOISE_FUNCTIONS = ( 'captcha.helpers.noise_null',# 设置样式 'captcha.helpers.noise_arcs',# 设置干扰线 ...

  3. 利用java生成带有干扰线的网页验证码图片

    package imageCreate; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import j ...

  4. PHP用imageTtfText函数在图片上写入汉字

    https://blog.csdn.net/smstong/article/details/43955705 PHP绘图,imageString()这个函数并不支持汉字的绘制.这往往会给入门者当头一棒 ...

  5. 利用canvas绘制带干扰线的验证码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. CSS 两边是线 中间是文字的效果

    刚开始做的时候 想了一下 这个是怎么做出来的,后来在网上看到有个类似的效果,研究一下 <!DOCTYPE html> <html lang="en"> &l ...

  7. php 使用imagettftext()函数出问题的原因

    <?php header('Content-type: image/png'); $im = imagecreatetruecolor(400, 300); //创建画布 $white = im ...

  8. MySQL中使用group_concat()函数数据字符过长报错的问题解决方法

    最近在办公软件项目,在开发权限指标遇到一个问题:我们系统的一些逻辑处理是用存储过程实现的,但是有一天客户反馈说权限指标分配报错,查了分配的权限数据牵扯到的数据权限基础资源,没有问题.权限指标分配的存储 ...

  9. css 两边是线,中间文字的多种实现方法

    <div class="soild_text_one"> <fieldset> <legend>历史活动一</legend> < ...

随机推荐

  1. EM算法直观认识

    Expectation Maximization, 字面翻译为, "最大期望". 我个人其实一直都不太理解EM算法, 从我个人的渊源来看, 之前数理统计里面的参数估计, 也是没有太 ...

  2. C# 上传本地视频到七牛云服务器

    第一步添加DLL引用 Install-Package Newtonsoft.Json Install-Package Qiniu #region 七牛云视频上传 /// <summary> ...

  3. GIC , SPI , PPI (窝窝科技的文章题目改了下)【转】

    转自:https://www.cnblogs.com/tureno/articles/6403408.html 转载于:  http://www.wowotech.net/irq_subsystem/ ...

  4. Celery详解(3)

    1.什么是Celery? Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列,同时也支持任务调度 2.Celery架构 Celery的架构由三部分组成,消息中 ...

  5. 201871010101-陈来弟《面向对象程序设计(java)》第七周学习总结

    201871010101-陈来弟<面向对象程序设计(java)>第七周学习总结 项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/n ...

  6. day14_7.16 模块

    一.模块 1.什么是模块? 模块就是一系列功能的结合体. 模块的三种来源: 1.内置的,也就是python解释器自带的,可以直接导入 2.第三方的,需要下载的 3.自定义的,自己写的模块 模块的四种表 ...

  7. day5_configparser模块

    第一种情况:# 配置文件baidu.ini和当前文件在同一级目录: import configparser conf_read = configparser.ConfigParser() conf_r ...

  8. C++使用OpenCV保存和读取XML

    代码 // save xml file cv::FileStorage file(save_transform, cv::FileStorage::WRITE); cv::Mat TransM = c ...

  9. USACO Stamps

    洛谷 P2725 邮票 Stamps https://www.luogu.org/problem/P2725 JDOJ 1797: Stamps 邮票 https://neooj.com:8082/o ...

  10. 13 opencv训练器

    https://blog.csdn.net/WZZ18191171661/article/details/91305466 https://blog.csdn.net/qq_25352981/arti ...