0

色を生成/ランダム化したいのですが、生成された色に近い2番目の色が必要です。これは私が色ftmを生成する方法です:

Paint colors = new Paint();

int red = ran.nextInt(256-100)+100;
int green = ran.nextInt(256-100)+100;
int blue = ran.nextInt(256-100)+100;

colors.setARGB(255, red, green, blue);

その後、次のように生成する2番目の色:

switch (ran.nextInt(3)) {
        case 0:
            red = red - (40 - level);
            break;
        case 1:
            green = green - (40 - level);
            break;
        default:
            blue = blue - (40-level);
            break;
        }

問題は、場合によっては機能することと、数マイル離れた 2 番目の色が得られることです。これらの色を生成する別のより良い簡単な方法はありますか?

br

4

2 に答える 2

1

0 から 3 の間の実乱数を作成する必要があります。

 Random ran = new Random();
 int max = 3;
 int min = 0;
 int randomNum = ran.nextInt((max - min) + 1) + min;

switch (randomNum ) {
        case 0:
            red = red - (40 - level);
            break;
        case 1:
            green = green - (40 - level);
            break;
        default:
            blue = blue - (40-level);
            break;
        }
于 2014-10-22T19:14:57.777 に答える
0

java.awt.Color.brighter() と Color.darker() を使用できます。

于 2014-10-22T21:26:57.483 に答える