首页 > 教程
PHP简易汉字验证码
- 2025-04-07
- 1126 ℃
<?php
/**
* PHP实现简易汉字验证码的思路
*/
// 创建画布
$image = imagecreatetruecolor(200, 60);
$background = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $background);
// 画干扰点
for ($i=0; $i < 300; $i++) {
$pixColor = imagecolorallocate($image, rand(150, 240), rand(150, 240), rand(150, 240));
$pixX = rand(10, 190);
$pixY = rand(5, 55);
imagesetpixel($image, $pixX, $pixY, $pixColor);
}
// 画干扰线
//4条水平线
for ($i=0; $i < 5; $i++) {
$lineColor = imagecolorallocate($image, rand(50, 150), rand(50, 150), rand(50, 150));
$lineX1 = 0;
$lineX2 = 300;
$lineY1 = ($i + 1) * 12;
$lineY2 = ($i + 1) * 12;
imageline($image, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor);
}
//10条垂直线
for ($i=0; $i < 30; $i++) {
$lineColor = imagecolorallocate($image, rand(50, 150), rand(50, 150), rand(50, 150));
$lineX1 = ($i + 1) * 10;
$lineX2 = ($i + 1) * 10;
$lineY1 = 0;
$lineY2 = 60;
imageline($image, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor);
}
// 画汉字
$text = array('栀', '子', '花', '开');
for ($i=0; $i < 4; $i++) {
$textColor = imagecolorallocate($image, rand(20, 100), rand(20, 100), rand(20, 100));
$textX = $i * 50 + 10;
$textY = rand(40, 60);
// 字体文件为英文名
imagettftext($image, 30, rand(20, 50), $textX, $textY, $textColor, "STFANGSO.TTF", $text[$i]);
}
// 输出图像
header("content-type:image/png");
imagepng($image);
// 销毁图像
imagedestroy($image);
上一篇:微信小程序自用Tree树形控件
下一篇:PHP基本简单实用函数
相关内容
显示器比例影响效率?16:...
市面常用浏览器锐评,从...
支持上百个网站的漫画下...
网站没有配置SSL,访问ht...
网页上的视频怎么下载
微信深度清理,一次清理...
微信必须关闭那些不该花...
公网IPV6访问家庭设备,...
-
知乎热榜API、百度热点API、微博热搜API(开源)- 聚合热榜API开源
2025-04-07 1315
-
微信的8个实用功能,隐藏技巧
2024-02-19 906
-
Vue3项目Build后部署在Nginx上F5刷新页面空白或404
2025-04-07 1101
-
除了百度网盘,我们还可以选择什么网盘
2025-03-10 1167
-
医患纠纷案例解析与防范要点
2024-06-18 1537
-
小城市养老向公务员备考心得
2025-03-10 1535
-
网页用JS屏蔽各种按键代码
2025-04-07 1205
-
网页重复工作偷懒插件
2024-11-18 1591
-
如何访问有密码的电脑
2025-06-21 1232
-
国外网站怎么进入
2024-05-07 2231
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


进入有缘空间
点击分享文章