Captcha
<br/>
>i 本文档的最新修订日期是:
> **2024-02-29**
# Captcha ::
生成验证码。
# 依赖
本模块依赖于PHP拓展 <font color="#c7254e">`GD2`</font> 。
# 模块配置
配置文件位于 <font color="#c7254e">`/config/core/Captcha.php`</font> 。
* **<font color="#ff6600">`fontFile`</font>** <font color="#0099ff">`(String)`</font> <font color="#bbbbbb">`'/lib/captcha_font.ttf'`</font> :
指定字体文件的路径。
>w 框架没有附带字体文件,需要自行添加,字体格式仅限 <font color="#c7254e">`TTF`</font> 。
# create()
## 说明
**<font color="#0099ff"><font color="#ff6600">Vcode</font> :: <font color="#ff6600">create</font> ( <kbd>传参数组</kbd> )</font>**
创建验证码图片。在前端HTML页面能够直接以引用图片的方式使用(即 <font color="#c7254e">`<img>`</font> 标签中的 <font color="#c7254e">`src`</font> 属性)。
此方法 <font color="#c7254e">`支持`</font> 中文参数名。
此方法 <font color="#c7254e">`支持`</font> 参数简写。
## 参数
* **<font color="#ff6600">`word(文字)`</font>** <font color="#0099ff">`(String)`</font> <font color="#BBBBBB">`必须`</font> <font color="#19c58c">`可简写`</font>:
用以指定验证码中的文字。
可以通过 <font color="#c7254e">`Tool :: random()`</font> 生成验证码文字。
* **<font color="#ff6600">`base64(base64)`</font>** <font color="#0099ff">`(Bool)`</font> <font color="#BBBBBB">`False`</font>:
用以指定是否将生成的验证码图像以Base64格式字符串返回。
当值为 <font color="#c7254e">`TRUE`</font> 时,本方法会将生成的验证码图像以Base64格式字符串返回。
当值为 <font color="#c7254e">`FALSE`</font> 时,本方法将会直接以 <font color="#c7254e">`image/jpeg`</font> 的方式展示图像。
* **<font color="#ff6600">`width(宽度)`</font>** <font color="#0099ff">`(Int)`</font> <font color="#BBBBBB">`120`</font>:
用以指定验证码图片的宽度(单位为像素)。
* **<font color="#ff6600">`height(高度)`</font>** <font color="#0099ff">`(Int)`</font> <font color="#BBBBBB">`50`</font>:
用以指定验证码图片的高度(单位为像素)。
* **<font color="#ff6600">`background(背景颜色)`</font>** <font color="#0099ff">`(String)`</font> <font color="#BBBBBB">`#ffffff`</font>:
用以指定验证码图片的背景颜色。
值为颜色的Hex表达式,例如 <font color="#c7254e">`#fa3137`</font> 。
* **<font color="#ff6600">`word_color(文字颜色)`</font>** <font color="#0099ff">`(String)`</font> <font color="#BBBBBB">`#000000`</font>:
用以指定验证码文字的颜色。
值为颜色的Hex表达式,例如 <font color="#c7254e">`#fa3137`</font> 。
>d 如果背景颜色与文字颜色一致,将会导致验证码无法看清。
* **<font color="#ff6600">`noise_color(噪点颜色)`</font>** <font color="#0099ff">`(String)`</font> <font color="#BBBBBB">`#ff6600`</font>:
用以指定噪点的颜色。
值为颜色的Hex表达式,例如 <font color="#c7254e">`#fa3137`</font> 。
* **<font color="#ff6600">`dot(点)`</font>** <font color="#0099ff">`(Int)`</font> <font color="#BBBBBB">`0`</font>:
用以指定杂点数量,建议使用默认值。
* **<font color="#ff6600">`line(线)`</font>** <font color="#0099ff">`(Int)`</font> <font color="#BBBBBB">`0`</font>:
用以指定干扰线数量,建议使用默认值。
## 返回
无或 <font color="#0099ff">`(String)`</font> 类型。
当参数 <font color="#c7254e">`base64`</font> 值为 <font color="#c7254e">`TRUE`</font> 时,本方法会将生成的验证码图像以Base64格式字符串返回。
>d 当参数 <font color="#c7254e">`base64`</font> 值为 <font color="#c7254e">`FALSE`</font> 时,使用本方法的文件中不能有其它输出。