• ベストアンサー

Javaで文字の角度を変えて表示させたい。

JavaでdrawStringを使って文字を出力しますが、180度回転した文字 逆さ文字を表示させたいのですが、どのように記述すればよいのでしょうか? g.drawString("あ", 10,10); //あを逆さにしたい。 また、180度でなく、好みの角度の表示も可能でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • koki_m
  • ベストアンサー率83% (45/54)
回答No.1

こんにちは。文字などのグラフィックスを回転させる場合はjava.awt.Graphics2Dクラスが使えます。 他にも方法があるかもしれませんが、一例です。 BuffredImageを作成し、そこにGraphics2Dで描画、最後にコンポーネントへBuffredImageを描画しています。 ポイントは3.14で180度ということと、回転(rotate())させてからdrawString()というところです。 - - - - - - - - - - - - - - - - - - - - import java.awt.*; import java.awt.image.*; class RView extends Component { public RView() {super();} public void paint(Graphics g) { Dimension d; BufferedImage bi; Graphics2D g2; d = getSize(); bi = new BufferedImage(d.width, d.height, BufferedImage.TYPE_4BYTE_ABGR); g2 = bi.createGraphics(); g2.setColor(Color.blue); g2.fillRect(0, 0, d.width, d.height); // 回転 // 3.14=180度 // 200.0=横方向位置修正 // 150.0=縦方向位置修正 g2.rotate(3.14, 200.0, 150.0); g2.setColor(Color.yellow); g2.setFont(new Font("Serif", Font.BOLD, 24)); g2.drawString("Rotated String!!", 200, 150); g.drawImage(bi, 0, 0, Color.white, null); } }

参考URL:
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/Graphics2D.html

関連するQ&A