アプリ版:「スタンプのみでお礼する」機能のリリースについて

JavaでdrawStringを使って文字を出力しますが、180度回転した文字
逆さ文字を表示させたいのですが、どのように記述すればよいのでしょうか?

g.drawString("あ", 10,10); //あを逆さにしたい。

また、180度でなく、好みの角度の表示も可能でしょうか?

A 回答 (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 …
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!