`
henry406
  • 浏览: 115801 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

生成验证图片

    博客分类:
  • java
 
阅读更多
    private void createImage(OutputStream out) {
        int width = 100;
        int height = 60;
        BufferedImage bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        Graphics2D g = bimage.createGraphics();
        //设置背景色
        g.setBackground(Color.WHITE);
        g.clearRect(0, 0, width, height);

        g.setColor(Color.GRAY);
        g.drawRect(0, 0, width - 1, height - 1);

        //绘制背景线条
        Random random = new Random();
        g.setColor(new Color(random.nextInt(40) + 160, random.nextInt(40) + 160, random.nextInt(40) + 160));
        for (int i = 0; i < 120; i++) {
            int x = random.nextInt(width);
            int y = random.nextInt(height);
            int xl = random.nextInt(12);
            int yl = random.nextInt(12);
            g.drawLine(x, y, x + xl, y + yl);
        }

        //绘制随机数值
        String str = "";
        int[] ns = {10, 26, 26, 48, 65, 97};
        for (int i = 0; i < 6; i++) {
            int n = (int) (random.nextInt(3));
            String s = String.valueOf((char) (random.nextInt(ns[n]) + ns[n + 3]));
            str += s;
            g.setFont(new Font("Arial", random.nextInt(3), 15 + random.nextInt(10)));
            g.setColor(new Color((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255)));
            g.drawString(s, (5 + i * 15), random.nextInt(10) + 30);
        }
        System.out.println(str);
        
        g.dispose();
        bimage.flush();
        
        //编码生成jpeg图片
        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
        JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);
        param.setQuality(1.0f, false);
        encoder.setJPEGEncodeParam(param);
        try {
            encoder.encode(bimage);
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    生成验证图片(C#)

    生成验证图片后,在需调用的界面加入如下代码即可:~/ValidaImg.aspx" ImageAlign="Middle" /&gt;

    JSP验证图片码生成

    **JSP验证图片码生成**是Web开发中一种常见的安全机制,主要用于防止自动化脚本或机器人进行非法操作,如防止恶意注册、重复提交等。在这个压缩包中,包含了一个名为`yz.jsp`的文件,这是一个基于JavaServer Pages ...

    生成验证码图片的jsp代码

    在Web开发中,使用JSP(JavaServer Pages)来生成验证码图片是一种常见的方法。下面我们将详细讨论如何在JSP中实现验证码的生成。 首先,我们需要理解验证码的基本原理。验证码通常包含一串随机的字母和数字,有时...

    asp.net创建位图生成验证图片类(验证码类)

    在ASP.NET中,生成验证图片,也就是我们常说的验证码,是一项常见的安全措施,用于防止自动化的机器人或恶意脚本进行非法操作。以下是对标题和描述中所述知识点的详细解释: 1. **验证图片(验证码)**:验证码是一...

    生成验证码图片的代码

    python的生成验证码图片代码!简单易理解!python的生成验证码图片代码!简单易理解!

    response生成图片验证

    "response生成图片验证"这个主题涉及到Web开发中的一个重要概念,即如何通过Servlet来创建并发送动态生成的图片验证码。以下是对这个主题的详细解释: 首先,我们要理解Servlet在Web应用中的角色。Servlet是一个...

    验证图片生成代码 验证图片生成代码

    通过理解以上知识点并结合编程实践,你可以编写出生成验证图片的代码,从而创建出具有安全性的验证码系统。这个过程中,开发者需要平衡用户体验和安全性,确保验证码既易于人类识别,又难于机器破解。

    .net 生成 验证码 验证图片

    验证码通常由一串随机的字母和/或数字组成,显示在一张图片上,用户需要正确输入才能通过验证。下面我们将详细探讨如何在.NET中实现这个功能。 首先,验证码的生成过程包括以下几个步骤: 1. **随机生成验证码内容...

    登陆验证+servlet动态生成图片验证码

    在IT行业中,登陆验证是确保用户安全性的重要环节,而动态生成的图片验证码是防止恶意自动登录和机器人攻击的有效工具。本文将深入探讨“登陆验证”与“Servlet动态生成图片验证码”的相关知识点,并提供实践指导。 ...

    java验证码生成验证

    将生成的四个验证图片放在一个页面上以供比对,全部可以运行。 四种方法分别为: 1. 数字、字母、汉字混合验证码,叠影(给力)、扭曲 2. 数字、字母混合验证码,扭曲 3. 汉字验证码,噪点,未加扭曲(未使用字符集...

    vue滑块验证,图片验证,图片旋转验证,滑动验证

    Vue应用可以通过调用后端接口获取随机验证码图片,结合`canvas`元素和图像处理库(如`sharp`或`jimp`)自动生成并校验用户输入。 3. **图片旋转验证**:这种验证方法更复杂,用户需要旋转图片到正确的位置。它通常...

    servlet动态生成登陆验证图片

    ### servlet动态生成登录验证图片详解 #### 背景与需求 在现代Web开发中,为了提高用户体验并增强安全性,动态生成图片成为一种常见的技术手段。例如,在登录页面上使用动态验证码图片可以有效防止机器人自动登录...

    vc++ 根据文字生成图片 文字图片验证码.zip

    "vc++ 根据文字生成图片 文字图片验证码.zip"是一个关于如何使用Visual C++(简称VC++)编程语言来创建文字图片验证码的项目。这个压缩包可能包含必要的源代码、文档和其他资源,帮助开发者了解和实现验证码生成的...

    指定大小图片生成器,用于生成指定尺寸的图片

    7. 测试与验证:生成的图片需要在实际设备上进行测试,确保在各种尺寸和分辨率下都能正确显示。 综上所述,"指定大小图片生成器"是结合了编程、图像处理和设计知识的工具,它简化了开发者为iOS应用创建启动图的过程...

    根据配置动态生成有验证的表单

    "根据配置动态生成有验证的表单"这一技术主题,结合使用了iview框架和async-validator库,旨在创建灵活、可配置的表单验证解决方案。 **1. iview框架** iview是一个基于Vue.js的UI组件库,提供了丰富的前端组件,...

    Android生成验证码图片

    验证码图片通常包含一串随机数字或字母,用户需要手动输入以验证他们是真实的人。以下是对这个主题的详细说明: 1. **验证码的基本原理**: 验证码的主要目的是通过创建一个用户必须读取并输入的复杂图像来增加...

    PHP快速生成图片验证码并且实现验证插件.rar

    PHP快速生成图片验证码并且实现验证插件 1.插件作用: 本插件可以快速实现网站验证码功能,包括验证码的生成和验证。   2.所需参数: CaptchaTool类包括两个方法,generate方法可以实现生成'...

    C#生成并验证验证码

    验证码是一种用于确认用户身份的安全机制,它通常由随机生成的一串字符组成,用户需要输入在屏幕上看到的相同字符才能通过验证。在C#中,我们可以利用编程技术来创建和验证这种验证码。以下将详细介绍如何使用C#实现...

    java 生成网页图片Web源代码

    在Java编程领域,生成网页图片是一项常见的需求,例如用于数据可视化、动态图表或者自定义的图形元素。这个项目,"java 生成网页图片Web源代码",显然关注的就是如何使用Java来创建和处理图片,特别是在Web环境中的...

Global site tag (gtag.js) - Google Analytics