class Pair<K, E> {
private K key;
private E value;
}
private static final int WIDTH = 62;
private static final int HEIGHT = 20;
private static Color getRandomColor() {
Random random = new Random();
return new Color(50 + random.nextInt(100), 50 + random.nextInt(100),
50 + random.nextInt(100));
}
private static int getRandomBgInt() {
Random random = new Random();
return 180 + random.nextInt(60);
}
private static Font getRandomFont() {
Random random = new Random();
return new Font("Times New Roman", Font.PLAIN, 10 + random.nextInt(8));
}
public static char getRandomChar() {
Random random = new Random();
if (random.nextInt(6) < 3) {
return (char) (65 + random.nextInt(26));
}
if (random.nextInt(6) < 3) {
return (char) (48 + random.nextInt(10));
}
return (char) (97 + random.nextInt(26));
}
public static Pair<String, BufferedImage> getImage() {
BufferedImage image = new BufferedImage(WIDTH, HEIGHT,
BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.setColor(new Color(255, getRandomBgInt(), 255));
g.fillRect(0, 0, WIDTH, HEIGHT);
StringBuilder s = new StringBuilder();
for (int i = 0; i < 4; i++) {
String t = String.valueOf(getRandomChar());
s.append(t);
g.setColor(getRandomColor());
g.setFont(getRandomFont());
g.drawString(t, 3 + 16 * i, 18);
}
g.dispose();
return new Pair<String, BufferedImage>(s.toString(), image);
}