securityImage
2015-12-24 16:31
330 查看
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; public class SecurityImage { public static void getImage(String filename) throws IOException{ int width=60,height=20; // String filedir="C:/"+filename+".jpg"; char mapTable[] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; String filedir="C:\\Users\\hz04307\\"+filename+".jgp"; BufferedImage bi=new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics g=bi.getGraphics(); g.setColor(new Color(0xDCDCDC)); g.fillRect(0, 0, width, height); g.setColor(Color.blue); g.drawRect(0, 0, width-1, height-1); String str=""; for(int i=0;i<4;i++){ str+=mapTable[(int) (mapTable.length*Math.random())]; } g.setColor(Color.black); g.setFont(new Font("Atlantic Inline",Font.PLAIN,18)); String s=str.substring(0,1); g.drawString(s, 8, 17); s=str.substring(1, 2); g.drawString(s,20,15); s=str.substring(2, 3); g.drawString(s, 30, 18); s=str.substring(3, 4); g.drawString(s, 45, 15); Random rand=new Random(); for(int i=0;i<200;i++){ int x=rand.nextInt(); int y=rand.nextInt(); g.setColor(Color.white ); g.setFont(new Font("Monospaced",Font.BOLD,36)); g.drawOval(x, y, 1, 1); g.drawLine(x, y, x*width, y*height); } g.dispose(); ImageIO.write(bi, "JPG", new File(filedir)); } public static void main(String[] args) throws IOException { // TODO Auto-generated method stub SecurityImage.getImage("a"); } }
相关文章推荐
- Day01 - Xcode常用快捷键、高级语言源码的编译到运行、三码运算、基础类型所占字节与取值范围
- 数据结构课程设计之航空订票系统
- 请用fontAwesome代替网页icon小图标
- VelocityLayoutViewResolver和VelocityViewResolver的区别
- svg是什么
- Unity3D规则之Unity Root Motion / Bake into Pose 的问题
- Beta阶段爬取数目预估
- XHTML 与 HTML 之间的差异
- LeetCode: 221_Maximal Square | 二维0-1矩阵中计算包含1的最大正方形的面积 | Medium
- <php+mysql>从PHP连接数据库,以及mysqli_connect()不能使用localhost的解答
- 利用FrameLayout中图片的切换来实现换灯片
- 基于栈和队列实现二叉树的遍历
- run reflection
- java *** 制作圣诞贺卡
- Android多线程问题。android.os.NetworkOnMainThreadException
- itext setEncryption报错问题
- 宿州携手华为企业云 掀开大数据产业发展新篇章
- oc中的变量
- saltstack基础篇
- MD5加密