0

Random() メソッドの生成に基づいてランダムな画像を表示しようとしています(キャプチャのようなものを試しているだけです)。配列からランダムな番号を生成していますが、これらの番号を画像にマップする方法がわかりません。何か案は ?私が今までやってきたこと:

java.util.Arrays をインポートします。java.util.Random をインポートします。

public class Gen_Captcha {

static String[] myCaptchaLetters = {"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","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"};
Gen_Captcha captcha= new Gen_Captcha();
public static void main(String[] args) {
    Random randomGenerator = new Random();
    for(int i=0;i<5;i++){
        int random = randomGenerator.nextInt(62);
        System.out.print((myCaptchaLetters[random]));       
    }

}

}

}

注: 上記のコードには、画像を表示するためのスイング フレームワーク コードが含まれていません。

4

3 に答える 3

2

を作成し、リストをランダム化するためにList<BufferedImage>使用します。Collections.shuffle()リストの反復子を使用すると、重複することなくランダムに画像にアクセスできます。

于 2013-06-21T15:03:59.497 に答える
1

Graphics.drawString()をご覧ください。

BufferedImageを作成することで、graphics2D オブジェクトを取得できます 。フォントを変更するメソッドもあることに注意してください。より高度なキャプチャの場合は、同じ API を使用して画像をワープし、その上にランダムなものを描画できます。

于 2013-06-21T14:58:49.927 に答える
1

しかし、これらの番号を画像でマッピングする方法がわかりません

数字をマッピングするのではなく、文字をマッピングします。

Map<String, Image> images = new HashMap<String, Image>();
images.put("a", imageA);
images.put("b", imageB);
于 2013-06-21T14:52:50.557 に答える