php简单生成验证码图片

<?php
$i=imagecreatetruecolor(100, 30);
$iColor=imagecolorallocate($i, 240, 240, 240);
imagefill($i, 0, 0, $iColor);
$str="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPSDFGHJKLZXCVBNM";
$nStr=str_shuffle($str);
$fourStr=substr($nStr, 0,4);

for ($j=0; $j < strlen($fourStr); $j++) { 

    $s=substr($fourStr, $j,1);
    //随机颜色,尽量不要太浅(和底色白色有差别)
    $fColor=imagecolorallocate($i, mt_rand(0,150), mt_rand(0,150), mt_rand(0,150));
    //随机倾斜
    $angle=mt_rand(0,45);

    $x=8+$j*25;
    $y=25;
    //SIMYOU.TTF字体文件可以在C:\WINDOWS\Fonts下找到,多个字体也可以添加到一个数组中,然后随机提取
    imagefttext($i, 20, $angle, $x, $y, $fColor, "SIMYOU.TTF", $s);
}

//添加干扰线 (4条干扰线)
for ($j=0; $j < 4; $j++) {
    $lColor=imagecolorallocate($i, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255));
    $x1=mt_rand(0,100);
    $y1=mt_rand(0,30);
    $x2=mt_rand(0,100);
    $y2=mt_rand(0,30);

    imageline($i, $x1, $y1, $x2, $y2, $lColor);
}

//加干扰点(200个干扰点)
for ($j=0; $j < 200; $j++) {
    $pColor=imagecolorallocate($i, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255));
    $x=mt_rand(0,100);
    $y=mt_rand(0,30);
    imagesetpixel($i, $x, $y, $pColor);
}
header("content-type:image/png");
imagepng($i);

?>
时间: 2024-11-02 09:17:41

php简单生成验证码图片的相关文章

学习笔记:利用GDI+生成简单的验证码图片

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 学习笔记:利用GDI+生成简单的验证码图片 1 /// <summary> 2 /// 单击图片时切换图片 3 /// </summary> 4 /// <param name="sender">&

javaweb学习总结(九)—— 通过Servlet生成验证码图片

一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片 1 package gacl.response.study; 2 import java.awt.Color; 3 import java.awt.Font; 4 import java.awt.Graphics; 5 import java.awt.Graphics2D; 6 import java.awt.image.Buff

用python生成验证码图片

除了配置好的python环境外,还需要配有python中的PIL库,这是python中专门用来处理图片的库.用传统的pip install 方法或者下载源码 python setup.py install 方法安装该库,很可能会报错(视运行环境不同).可以采用以下方法: 1.下载安装包URL:http://www.pythonware.com/products/pil/index.htm,要下载支持全平台的. 2.解压缩: tar –zxv –f Imaging-1.1.7.tar.gz 3.进

Python Show-Me-the-Code 第 0010 题 生成验证码图片

第 0010 题:使用 Python 生成类似于下图中的字母验证码图片 阅读资料 思路:先随机生成验证码,然后用Python的PIL库画出这个激活码的图片,具体点就是创建画布,加验证码的字上去,增加噪点进行干扰,再进行模糊处理,接着保存到名字为验证码的图片中. 0010.生成验证码图片.py #!/usr/bin/env python #coding: utf-8 import Image, ImageDraw, ImageFont, ImageFilter import string, ran

用动态网页技术PHP生成验证码图片的源代码

文件a.php <? //checkNum.php session_start(); function random($len) { $srcstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; mt_srand(); $strs=""; for($i=0;$i<$len;$i++){ $strs.=$srcstr[mt_rand(0,35)]; } return strtoupper($strs); } $str=ra

转: 通过Servlet生成验证码图片

孤傲苍狼 只为成功找方法,不为失败找借口! javaweb学习总结(九)—— 通过Servlet生成验证码图片 一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片 1 package gacl.response.study; 2 import java.awt.Color; 3 import java.awt.Font; 4 import java.awt.Graphics; 5

java生成验证码图片

public class AuthImg extends HttpServlet { /** * */ private static final long serialVersionUID = 4975974534946437434L; // 设置图形验证码字符串的字体和大小 private Font mFont = new Font("微软雅黑", Font.ITALIC, 18); private Random random = new Random(); public void

JavaWeb---总结(九)通过Servlet生成验证码图片

一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片  1 package gacl.response.study;  2 import java.awt.Color;  3 import java.awt.Font;  4 import java.awt.Graphics;  5 import java.awt.Graphics2D;  6 import java.awt.imag

通过Servlet生成验证码图片

首先声明:本文转载自:@孤傲苍狼 https://home.cnblogs.com/u/xdp-gacl/ 一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片 1 package gacl.response.study; 2 import java.awt.Color; 3 import java.awt.Font; 4 import java.awt.Graphics; 5 im