2012-02-23 16 views
1

画像を読み取ったところ、int xint yの値をランダムに設定しますが、画像の幅と高さはそれぞれ0,0以下にならないようにランダムに設定します画像の境界を超えている。このようなJava - 整数値を最大画像サイズに設定する

何か:

read image //I have this already 
assign random value to int x up to maxWidth of image but >= 0 
assign random value to int y up to maxHeight of image but >= 0 
end 

一般的に、ほとんどすべて私が働いている画像の私は最終的にのような値で終わるために探しています約424 X 424

です

int x = 325; 
int y = 10; 

または

int x = 424 
int y = 351 

または

int x = 109 
int y = 230 

私は、コードを実行するたびに、xyの値は、以前のようにランダムに再割り当てされます。

これは可能ですか?

+0

はあなたが例えば使用してみました['ランダム](http://docs.oracle.com/javase/6/docs/api/java/util/Random.html)? –

+0

@Mick:*「コードを実行するたびに、xとyの値は前と同じようにランダムに再割り当てされます。それは奇妙な**前のような**部分です。ランダムではあるが再現性がありますか?その場合、PRNGの固定種子を使用したいと考えています。たとえば、* Random(System.currentTimeMillis())*の代わりに*新しいRandom(42)*を実行します。 – TacticalCoder

+0

はい、プログラムが実行されるたびに新しい値が 'x'と' y'に割り当てられます。これは> = 0,0と<= maxHeight&maxWidthです。 – MusTheDataGuy

答えて

1

import java.util.Random; 

..stuff.. 

// create a random instance - you only need one of these 
Random r=new Random(); 

..stuff.. 

// create a random co-ordinate within the image rectangle 
int x=r.nextInt(image.getWidth()); 
int y=r.nextInt(image.getHeight()); 
1

イメージの幅と高さを取得する方法を尋ねている場合は確信していますが、そうでない場合は、0と各イメージの次元の間のランダムなintを取得するだけです。

あなたが何かしたい
final int width, height; 
Random rand = new Random(System.currentTimeMillis()); 
final int x = rand.nextInt(width); 
final int y = rand.nextInt(height); 
+0

イメージの幅と高さを取得できました。私は、withとheightの両方に対してmax値までの値を生成する必要がありますが、0より小さくはありません。 – MusTheDataGuy

関連する問題