当前位置:首页 > 编程教程 > java技术文章 > java 实现输出随机图片实例代码

java输出随机图片示例效果

  • 发布时间:
  • 作者:码农之家
  • 点击:146

这篇文章主要知识点是关于java、随机图片、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Java语言程序设计:进阶篇
  • 类型:Java编程大小:86.3 MB格式:PDF作者:梁勇
立即下载

java 实现输出随机图片实例代码

java  实现输出随机图片实例代码

输出随机图片(CAPTCHA图像):Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的测试)

相关主要类(JDK 查看API)

BufferedImage:内存图像
Graphics:画笔
ImageIO:输出图像

放在html页面上<img src/>

注意:浏览器默认会缓存图片

   public static int WIDTH = 120; 
public static int HEIGHT = 25; 
 
public void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException { 
 
  response.setContentType("text/html"); 
  //创建内存图像 
  BufferedImage image = new BufferedImage(WIDTH,HEIGHT,BufferedImage.TYPE_INT_RGB); 
  //勾勒图像 
  Graphics graphics = image.getGraphics(); 
  //设置背景 
  graphics.setColor(Color.WHITE); 
  graphics.fillRect(0, 0, WIDTH, HEIGHT); 
  //设置边框 
  graphics.setColor(Color.BLUE); 
  graphics.drawRect(1, 1, WIDTH-2, HEIGHT-2); 
  //画干扰线 
  graphics.setColor(Color.YELLOW); 
  for(int i=0;i<8;i++){ 
    int xStart = new Random().nextInt(WIDTH); 
    int yStart = new Random().nextInt(HEIGHT); 
    int xEnd = new Random().nextInt(WIDTH); 
    int yEnd = new Random().nextInt(HEIGHT); 
    graphics.drawLine(xStart, yStart, xEnd, yEnd); 
  } 
  //写随机数 
  graphics.setColor(Color.RED); 
  int x = 5; 
  for(int i=0;i<4;i++){ 
    graphics.drawString(new Random().nextInt(9)+"", x, 20); 
    x+=30; 
  } 
  response.setContentType("image/jpeg");//设置响应格式 
  ImageIO.write(image, "jpeg", response.getOutputStream()); 
   
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

Java 相关电子书
学习笔记
网友NO.612385

java正则表达式判断 ip 地址是否正确解析

这篇文章主要介绍了java正则表达式判断 ip 地址是否正确解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 public class ClassWork05 { public static void main(String[] args) { System.out.println(IsIp.isIp("10.10.1.1")); }}class IsIp{ public static boolean isIp(String ip) { boolean b1 = ip.matches("([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}"); return b1; }}// 输出结果为 true 可以通过这个图来理解 ip 地址的正则表达式: java 的 ip 正则表达式 ([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3} 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。 ……

网友NO.404623

Java1.8中StringJoiner的使用及源码详析

前言 StringJoiner是Java里1.8新增的类,主要是帮助我们把一个列表拼接字符串, 或许有一部分人没有接触过. 所以本文将从使用例子入手, 分析StringJoiner的源码. 基本好的同学, 其实只要把这段例子自己运行一下, 自己看看源码就可以了.因为我觉得这个类挺简单的. 没必要看我下面的废话.... public class StringJoinerTest { public static void main(String[] args) { StringJoiner joiner = new StringJoiner("--", "[[[_", "_]]]"); System.out.println("toString: " + joiner.toString()); System.out.println("length: " + joiner.length()); System.out.println("******************(1)********************"); joiner.add("1"); joiner.add("2"); joiner.add("3"); joiner.add("4"); System.out.println("toString: " + joiner.toString()); System.out.println("length: " + joiner.length()); System.out.println("******************(2)********************"); StringJoiner joiner2 = new StringJoiner("..."); System.out.println("toString: " + j……

网友NO.519448

JavaScript之iterable_动力节点Java学院整理

遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。 具有 iterable 类型的集合可以通过新的 for ... of 循环来遍历。 for ... of 循环是ES6引入的新的语法,请测试你的浏览器是否支持: 'use strict';var a = [1, 2, 3];for (var x of a) {}alert('你的浏览器支持for ... of'); 用 for ... of 循环遍历集合,用法如下: var a = ['A', 'B', 'C'];var s = new Set(['A', 'B', 'C']);var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);for (var x of a) { // 遍历Array alert(x);}for (var x of s) { // 遍历Set alert(x);}for (var x of m) { // 遍历Map alert(x[0] + '=' + x[1]);} 你可能会有疑问,for ... of循环和for ... in循环有何区别? for ... in 循环由于历史遗留问题,它遍历的实际上是对象的属性名称。一个 Array 数组实际上也是一个对象,它的每个元素的索引被视为……

网友NO.381620

java使用集合实现通讯录功能

本文实例为大家分享了java使用集合实现通讯录的具体代码,供大家参考,具体内容如下 代码有些繁琐,只适合初学者。 项目1 java通讯录 方法(声明方法的类) 代码块 代码块语法遵循标准markdown代码,例如: package com.lanou.homwork;import java.util.Collection;import java.util.HashMap;import java.util.LinkedList;import java.util.Scanner;import java.util.Set;class ContactPerson { public HashMap map = null; public HashMap getMap() { return map; } public void setMap(HashMap map) { this.map = map; } public ContactPerson(HashMap map) { super(); this.map = map; } public ContactPerson() { } // 添加联系人 public HashMap addContact(Person person) { // map集合为空 if (this.map.size() == 0) { LinkedList list = new LinkedList(); // 添加到list集合里 list.add(person); this.map.put(person.getFirstCard(), list);// 添加map集合 System.out.println(person.getFirstCard()); } else { System.out.println("1111111111111111111");……

<
1
>

Copyright 2018-2020 www.xz577.com 码农之家

版权投诉 / 书籍推广 / 赞助:520161757@qq.com