2012-01-13 19 views
0

Javaで画像を回転しようとしていますが、PNGの透明度が消えてしまいます。画像を回転して透明性を維持する方法はありますか?Javaでの作業の透明化

  AffineTransform trans = new AffineTransform(); 
      trans.setTransform(identity); 
      trans.translate(100, 100); 
      trans.rotate(Math.toRadians(45)); 

      gr.drawImage(image.getImage(), trans, this); 

これはPNG黒で透明になりますが、

  gr.drawImage(image.getImage(), 0, 200, null); 

は、透明性には問題がありません。

答えて

3

レンダリングヒントをGraphics2Dオブジェクトに設定しようとします。

gr.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY); 

最適な設定については、referenceを確認してください。

+0

またはこちらhttp://java.sun.com/products/jfc/tsc/articles/swing2d/index.html +1 – mKorbel

+0

JavaDocsの最新バージョンにリンクすることをお勧めします。私はあなたの答えをJ2SE 7を指すように編集しました。最新のドキュメントへのリンクを得るためのヒントについては、[ポイント2の利点](http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7090875)を参照してください。 。 –

+0

@Andrew Thompson私のチャンネルではLog_On、たとえばOTNなど、時にはときどき、これらのフォーラムがなぜ亡くなったのかという理由で、BugParadeのup_voteのチャンスはありませんか? – mKorbel

関連する問題