Kaptcha 验证码 无噪点 无干扰线 配置

先看 生成的验证码图片例子:

这是原来的样子
在这里插入图片描述
KaptchaConfig.java 这个就不用说了吧,使用Kaptcha的基本配置类

package com.xx.config;import com.google.code.kaptcha.NoiseProducer;
import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.impl.WaterRipple;
import com.google.code.kaptcha.util.Config;
import com.jhlabs.image.RippleFilter;
import com.jhlabs.image.WaterFilter;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
import java.util.Properties;@Component
public class KaptchaConfig {@Bean(name = "captchaProducer")public DefaultKaptcha getDefaultKaptcha(){com.google.code.kaptcha.impl.DefaultKaptcha defaultKaptcha = new com.google.code.kaptcha.impl.DefaultKaptcha();Properties properties = new Properties();properties.setProperty("kaptcha.border", "no");properties.setProperty("kaptcha.border.color", "105,179,90");properties.setProperty("kaptcha.textproducer.font.color", "black");properties.setProperty("kaptcha.image.width", "110");properties.setProperty("kaptcha.image.height", "40");properties.setProperty("kaptcha.textproducer.char.string","23456789abcdefghkmnpqrstuvwxyzABCDEFGHKMNPRSTUVWXYZ");properties.setProperty("kaptcha.textproducer.font.size", "30");properties.setProperty("kaptcha.textproducer.char.space","3");properties.setProperty("kaptcha.session.key", "code");properties.setProperty("kaptcha.textproducer.char.length", "4");properties.setProperty("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑");// 这里 是去掉 噪点颜色//properties.setProperty("kaptcha.noise.color", "255,96,0");// 这是 是图片样式配置 原生的有三种 水纹 、 鱼眼 、 阴影// 这里是 我们自己实现的一个 也就是 样式自定义properties.setProperty("kaptcha.obscurificator.impl","com.xx.config.NoWaterRipple");// 配置使用原生的 无噪 实现类 NoNoiseproperties.setProperty("kaptcha.noise.impl","com.google.code.kaptcha.impl.NoNoise");Config config = new Config(properties);defaultKaptcha.setConfig(config);return defaultKaptcha;}
}

NoWaterRipple.java 自定义实现的图片样式类
看出来没,照着 “com.google.code.kaptcha.impl.WaterRipple” 原生 水纹 样式抄的。
去掉 各种filter 直接用 baseImage 生成图片. (其实这里可支持其他个性化的操作)

package com.xx.config;import com.google.code.kaptcha.GimpyEngine;
import com.google.code.kaptcha.util.Configurable;import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;public class NoWaterRipple extends Configurable implements GimpyEngine {public NoWaterRipple(){}@Overridepublic BufferedImage getDistortedImage(BufferedImage baseImage) {//NoiseProducer noiseProducer = this.getConfig().getNoiseImpl();BufferedImage distortedImage = new BufferedImage(baseImage.getWidth(), baseImage.getHeight(), 2);Graphics2D graphics = (Graphics2D)distortedImage.getGraphics();//RippleFilter rippleFilter = new RippleFilter();//rippleFilter.setWaveType(0);//rippleFilter.setXAmplitude(2.6F);//rippleFilter.setYAmplitude(1.7F);//rippleFilter.setXWavelength(15.0F);//rippleFilter.setYWavelength(5.0F);//rippleFilter.setEdgeAction(0);//WaterFilter waterFilter = new WaterFilter();//waterFilter.setAmplitude(1.5F);//waterFilter.setPhase(10.0F);//waterFilter.setWavelength(2.0F);//BufferedImage effectImage = waterFilter.filter(baseImage, (BufferedImage)null);//effectImage = rippleFilter.filter(effectImage, (BufferedImage)null);graphics.drawImage(baseImage, 0, 0, (Color)null, (ImageObserver)null);graphics.dispose();//noiseProducer.makeNoise(distortedImage, 0.1F, 0.1F, 0.25F, 0.25F);//noiseProducer.makeNoise(distortedImage, 0.1F, 0.25F, 0.5F, 0.9F);return distortedImage;}}

最后把这两个类 放到你 配置的地方 就可以试试了
别忘了 改
properties.setProperty(“kaptcha.obscurificator.impl”,“com.xx.config.NoWaterRipple”);
这个地方

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/252260.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

spring整合kaptcha验证码

验证码在项目肯定会用得到,本案例是在window上运行的,若kaptcha验证码在Linux上显示的是一堆乱码,可能是因为Linux没有中文字体库和中文字体造成的,可进行如下操作: 1. 判断有没有中文字体库: fc-list 2.…

kaptcha html页面验证码,kaptcha验证码使用配置

效果图: 1. 首先加入 kaptcha的jar包在工程中kaptcha-2.3.2.jar和kaptcha-2.3.2-jdk14.jar 2. 配置web.xml:对kaptcha的参数进行配置: Kaptcha com.google.code.kaptcha.servlet.KaptchaServlet kaptcha.border no kaptcha.textproducer.fon…

Cookie、Kaptcha

目录 一、本质 二、Cookie在浏览器和服务器之间的传递 1.没有Cookie的状态 2.创建Cookie对象并返回 三、Cookie时效性 1.理论 2.代码 3.会话和持久化Cookie对比 四、Cookie的domain和path 五、Cookie的应用 六、Kaptcha 1.为什么需要验证码? 2.Kaptcha…

java验证码kaptcha_spring整合kaptcha验证码的实现

kaptcha简介: kaptcha是一个很有用的验证码生成工具,由于它有许多可配置项,所以用它可以简单快捷的生成各式各样的验证码。 开发工具及使用的核心技术: 1、eclipse 2、mybatis 3、spring 4、springmvc 5、kaptcha 本文将介绍kaptcha两种使用方式: 方式一…

SpringBoot 整合 kaptcha + redis 实现 图形验证码登录

一、新建一个SpringBoot 项目,springboot项目创建过程详见 mac idea 创建 springboot 项目_JAVADWangJing的博客-CSDN博客_mac idea创建springboot项目 二、SpringBoot 整合使用 Rdis SpringBoot 项目 添加 redis配置_JAVADWangJing的博客…

10.20扫雷

扫雷 1.构建主函数,方法与三子棋雷同,但是有很多不一样的地方,就是需要构建两个二维数组,一个存放雷的数据,一个存放展现给玩家的数据棋盘 2.在对棋盘分别初始化 时候,考虑到两个二维数组存放内容不同,直接对初始化函数进行添加字符参数 3.构建参数 因为考虑到后期排查雷的时…

扫雷游戏

游戏设计 1.设计两个二维数组的面板,一个是展示给用户使用的,另一个是雷区的面板 2.初始化两个面板,用户使用的面板初始化为‘’,雷区的面板全部初始化为‘0’ 3.设置你所需要的雷区 4.用户输入坐标,进行判断。越界重新…

【180720】微软Windows扫雷游戏代码

源码简介 本源码是一个微软Windows扫雷游戏代码,可选择难度级别:初级、中级、高级。 注意事项: 1、开发环境为Visual Studio 2010,使用.net 2.0开发。 源码下载地址:点击下载 备用下载地址:点击下载

扫雷win10_windows扫雷游戏原来是一道数学难题!

各位同学大家好,这里是质心数学游戏科普频道。 今天和大家聊的是一款有点复古的windows系统自带小游戏——MineSweeper(扫雷)。 我刚接触这款游戏是高中的上机课,当时的电脑系统还是win95,在大家还不会局域网互联打Sta…

【扫雷】游戏

一、目的 实现一个扫雷游戏 二、过程 1、游戏框架 首先,游戏开始之前,显示游戏菜单Menu() static void Menu() {printf("#############################\n");printf("########欢迎来到扫雷游戏#######\n");printf("######…

扫雷1.0

目录 一.规则介绍 二.基本思路 三.代码实现 一.规则介绍 扫雷是一个经典的游戏,一张棋盘中有许多不确定是雷还是安全区域的格子,当点击之后若没雷则会在该区域显示周围八个格子雷瑟数目,若踩雷则游戏结束。 二.基本思路 1.创建菜单 2.…

扫雷win10_厉害了,一个自动扫雷游戏项目!

转载自公众号【视学算法】 原文:https://www.cnblogs.com/chestnut-egg/p/9302238.html 自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式。 一、…

RK3566 ALC5616录音调试

1.硬件原理图 MIC_P,MIC_N:mic输入。 I2S:总共有5根线(这里不是指 i2s 标准接口):两根音频数据线(输入/输出)、三根时钟线 其中: I2S_LRCK 是指示当前数据线传输的是左声…

comsol with matlab联合仿真

目前网上的教程基本上只有如何找到comsol with Matlab以及如何打开,和部分代码的讲解,但是要真正的跑起来还有一些步骤,小白在这里跟大家分享一下,不对轻喷🥺 1.comsol文件需要连接到服务器comsol multiphysics serve…

COMSOL6.0软件安装说明+视频教程

链接:https://pan.baidu.com/s/1a_BaY6K-fP0PiMhcw5eLcg?pwd6iis 提取码:6iis 首先用虚拟光驱加载或者用winrar直接解压镜像文件,再双击setup.exe程序,选择简体中文语言; 2.选择新安装; 3.选择你要安装…

COMSOL 5.2安装教程(自用)

3、允许用户协议,将许可证格式修改为“许可证文件”,然后点击浏览载入安装包中“_SolidSQUAD_”目录下的“Comsol52_SSQ.lic” 电磁 AC/DC 模块RF 模块波动光学模块射线光学模块等离子体模块半导体模块 结构力学 & 声学 结构力学模块非线性结构材料模…

COMSOL在云平台的使用教程,超高效的方法来了

在北鲲云超算平台上有多种COMSOL作业提交方式,这里给大家演示的是图形界面提交 在平台上使用图形界面提交超级简单,平台已内置模板,只需按照提示上传文件及选择选项即可,对于没有代码基础的同学来说,这是最推荐的方式…

EDA安装------Centos7 安装Comsol5.5

目录 1.引言2.资源3.安装4.结语 1.引言 由于项目需求,博主最近要做微流控通道的流体仿真,对于一个小白来说,首先就是安装仿真软件了。据目前所知,流体仿真大多数使用Ansys的Fluent或CFX、Comsol两个软件。经过网上查询&#xff0…

页眉如何设置成一页左一页右?页码如何设置成一页左一页右?

WPS页眉如何设置成一页左一页右?页码如何设置成一页左一页右?