- 27 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 15:38:20 ]
- >>26
一生懸命ageなくていいよ。 >>21を書いた人間じゃないから、勘違いしているところがあるかもしれんし、 今手元にJava6の環境が無いのでコンパイルが通るかどうかさえ試せないんだが、 虹を描いているところで、虹色のColor[] rainbowColorの定義の色の順番を内側の色が先になるように逆にする。 その定義のあとに、 float[] fractions = {0.5f, 0.6f, 0.65f, 0.7f, 0.75f, 0.8f, 0.9f, 1.0f};//ここの数字はいい加減 RadialGradientPaint rainbowPaint = new RadialGradientPaint(rainbowX, rainbowY, bi.getWidth() / 4, fractions, rainbowColor); int rainbowX = bi.getWidth() / 2; int rainbowY = bi.getHeight() * 3 / 4; fractionsの数値の定義はrainbowColorの各色が虹の半径のどのあたりに来るべきかを比率で指定。 for文は無くして、 int size = bi.getWidth() / 4; Arc2D rainbow = new Arc2D.Float(rainbowX - size, rainbowY - size, size * 2, size * 2, 0, 180, Arc2D.CHORD); g.setPaint(rainbowPaint); g.fill(rainbow); にしてみる。
|

|