Graphics2Dクラスの使い方を最近いろいろと知ったので書くことにしました。
まず
・Graphics2Dクラスを取得しよう使い方を知っていても、Graphics2Dの変数がなければ意味がありませんw
取得方法は、
Graphics2D g2 = (Graphics2D) g;
簡単です。キャストするだけです。
ちなみにgはGraphicsクラスです。
・アンチエイリアスアンチエイリアスとは図形を描いたときに見えるぎざぎざをなくすものです。
二枚の画像を用意しました。


下の方がきれいに見えるのがわかると思います。
下がアンチエイリアスをかけた状態です。
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
これで図形がきれいに描画されます。
以下の方法でテキストにもアンチエイリアスをかけられます。
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
・画像描画時に透明度を設定する普通、図形を半透明描画するときにはColorの四番目の引数に透明度を設定します。
しかしこの方法では画像は半透明にできません。
そこで以下の方法を使います。
g2.setComposite(AlphaComposite.getInstance(
AlphaComposite.SRC_OVER, ここに透明度を0~1で指定));
0だと完全に透明(つまり意味無し)、
1だと完全に不透明になります。
0.5あたりにするといいと思います。
ただし、これ以降の描画は全て半透明になってしまいますので、ご注意を。
元に戻す際には、
g2.setComposite(AlphaComposite.getInstance(
AlphaComposite.SRC_OVER, 1));
としてやればOKです。
・画像の回転Graphics2Dでは画像を回転できます。
g2.rotate(回転角度ラジアン, 回転の中心座標X, 回転の中心座標Y);
これで以降の描画は全て回転が適用されます。
ただし、これ以降全ての描画に回転が適用されてしまうので、ご注意を。
直すには、
g2.rotate(-回転角度ラジアン, 回転の中心座標X, 回転の中心座標Y);
とします。
よーするに回した分反対に回してやるということです。
____________________________________________________________
他にもtranslateやscaleなど便利なメソッドが沢山ありますが、
使い方は似ているので、調べてみると使えるかもしれません。
では今回はこの辺で。。。