Javaゲーム制作記

いろいろ作ってます  

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | Comment(-)

Graphics2Dクラスの便利な使い方

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など便利なメソッドが沢山ありますが、
使い方は似ているので、調べてみると使えるかもしれません。

では今回はこの辺で。。。
[ 2010/02/06 14:21 ] Java | Comment(4)
( ゚Д゚)ポカーン

開いた口が下がりませんw



ハクシュデスー。
[ 2010/02/06 19:23 ] [ 編集 ]
連コメ失礼しますが、送信時のPASS無くしたんですか。

くだらないことで済みません。
[ 2010/02/06 19:26 ] [ 編集 ]
Graphics2Dってホント便利ですね。
こうして使い方をまとめてもらえるとありがたいです!
[ 2010/02/06 20:20 ] [ 編集 ]
>>HTRE さん
送信時のパスワードはめんどくさいので無くしました。
また何か問題があったら復活させますw

>>二つの、うさぎ さん
ありがとうございます!
自分も最近詳しいことを知ったので描画処理がすごく画期的になりました!
また何か新しいことを発見したら書きたいと思います。
[ 2010/02/07 11:06 ] [ 編集 ]
コメントの投稿




※URL記述の際はttp://としてください


プロフィール

saharan

Author:saharan

Twitter
検索フォーム


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。