import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
/**
* 产生四们随机数字的验证图片
* @author yidatuosi
*
*/
public class ImageTool
{
public String sRand = "";
public Color getRandColor(int fc, int bc)
{//给定范围获得随机颜色
Random random = new Random();
if (fc > 255)
fc = 255;
if (bc > 255)
bc = 255;
int r = fc + random.nextInt(bc - fc);
int g = fc + random.nextInt(bc - fc);
int b = fc + random.nextInt(bc - fc);
return new Color(r, g, b);
}
public BufferedImage creatImage()
{//在内存中创建图像
int width = 60;
int height = 20;
BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
//获取图形上下文
Graphics g = image.getGraphics();
//生成随机类
Random random = new Random();
//设定背景色
g.setColor(getRandColor(200,250));
g.fillRect(0, 0, width, height);
//设定字体
g.setFont(new Font("Times New Roman",Font.PLAIN,18));
//画边框
// g.setColor(new Color());
// g.drawRect(0, 0, width-1, height-1);
//随机产生155条干扰经,使图像中的认证码不易被其他程序探测到
for(int i=0; i<155; i++)
{
g.setColor(getRandColor(160,200));
int x = random.nextInt(width);
int y = random.nextInt(height);
int x1 = random.nextInt(12);
int y1 = random.nextInt(12);
g.drawLine(x, y, x+x1, y+y1);
}
//取随机产生 的认证码(4位数字)
sRand = "";
for(int i=0; i<4; i++)
{
String rand = String .valueOf(random.nextInt(10));
sRand+=rand;
//将认证码显示到图像中
g.setColor(new Color(20+random.nextInt(110), 20 + random.nextInt(110), 20+random.nextInt(110)));
//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
g.drawString(rand, 13*i+6, 16);
}
//图像生效
g.dispose();
return image;
}
public String getRand()
{
return sRand;
}
public static void main(String[] args)
{
ImageTool it = new ImageTool();
JFrame jf = new JFrame();
jf.setSize(200,300);
jf.setTitle("产生验证码");
Container ct = jf.getContentPane();
ImageIcon ii = new ImageIcon(it.creatImage());
JLabel jl = new JLabel(ii);
ct.add(jl);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
System.out.println(it.getRand());
}
}
分享到:
相关推荐
Java后端产生验证码后台验证功能的实现代码 Java后端产生验证码后台验证功能的实现代码是指在Java后台生成验证码,并对其进行后台验证的功能。本文主要介绍了Java后台产生验证码后台验证功能的实现代码,结合实例...
Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...
6. **项目结构**: 文件列表中包含的`test.java`可能是测试类,用于验证`BoxBlurFilter`的功能。`Manifest`文件是Java应用的标准清单文件,记录了应用的元数据。`build.xml`可能是Ant构建脚本,用于自动化编译和打包...
Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...
Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...
产生自己的控件 Java控件的相互控制与消息传递 Java圆形的按钮制作 密码验证框 视频播放程序 定时器的使用 Java建立Http连接 用RMS记录个人信息 Java建立与断开数据库的连接 Java创建和...
Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰效果 Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、...
Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...
描述中提到的"java调用",意味着我们要在Java代码中创建HTTP请求,将图像数据发送到提供人脸识别服务的服务器。这通常涉及到网络编程和JSON序列化/反序列化。你可以使用诸如Apache HttpClient或OkHttp这样的库来发送...
Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰效果 Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、...
可以编写单元测试,针对每一种可能的滑动操作和游戏状态进行验证。 总的来说,Java版的2048游戏开发涵盖了面向对象设计、数据结构、算法和用户交互等多个方面,是学习和实践Java编程的一个好项目。通过这个项目,...
6.3 实例——利用JSP制作图片缩略图 87 6.4 小结 90 第7章 JSTL——JSP标准标签库 91 7.1 JSTL基础 91 7.1.1 JSTL的核心标签库 92 7.1.2 JSTL中使用表达式语言 93 7.2 实例——利用JSTL标签生成数字序列...
摘要:Java源码,书籍源码,Java源代码 Java实用程序设计100例源代码,这些实例主要有: 产生自己的控件 Java控件的相互控制与消息传递 Java圆形的按钮制作 密码验证框 视频播放程序 定时器的使用 Java...
在Java开发中,文件上传是一个常见的功能,尤其在Web应用程序中,用户可能需要上传图片、文档等各类文件。SmartUpload是一款强大的Java文件上传组件,它简化了文件上传的处理过程,使得开发者能够更高效地实现这一...
这可能涉及解析表情代码,加载对应的图片资源,并在聊天窗口中正确地显示出来。 9. **安全性考虑**:为了保护用户信息的安全,聊天室可能需要对用户的密码进行加密存储,防止被非法获取。此外,对于网络通信的数据...
【团购项目完整代码】是一个基于Java技术实现的某客网团购项目的源代码集合。这个项目旨在展示一个完整的团购系统的开发过程,涵盖了从用户界面到后台服务的各个环节,为学习者提供了一个实际操作的平台,加深对Java...
10. **测试与调试**:开发者可能使用JUnit等单元测试框架来验证代码功能的正确性,并通过IDE的调试工具进行问题定位。 综上所述,这个Java24点游戏项目涵盖了丰富的编程概念和技术,包括GUI设计、事件处理、图像...
1. **源代码**:Java类文件,实现了翻页效果的核心逻辑,包括翻页动画的控制、图片加载和处理、参数设置等功能。 2. **资源文件**:可能包含用于示例的背景图片或其他素材,供开发者参考和替换。 3. **配置文件**:...
源代码中会有单元测试和集成测试来验证游戏逻辑的正确性,Xcode自带的测试工具可以帮助开发者编写和运行这些测试。同时,调试器如LLDB和断点设置是排查问题的重要手段。 10. 发布与更新: 完成开发后,需要打包成...
java编程100实例,适合初学java的朋友学习,含有源代码,省去了码代码的时间,可以直接导入,运行。建议实用eclipse,内容如下: 实例1 产生自己的控件 实例2 控件的排布示例 实例3 控件的相互控制与消息传递 实例4 ...