Saturday, December 20, 2008

Java2Dで画像の上に垂直に傾けた文字列を描画する

Java2Dで画像の上に垂直に傾けた文字列を描画するには、以下のコードを実行します。


import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;

public class Java2DTest19
{
public static void main(String args[])
throws Exception
{
/* 文字列を縦に傾けて画像上に描画する */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
Graphics2D gr = img.createGraphics();
/* 半透明色で四角を描画 */
gr.setColor(new Color(0x00, 0x00, 0x00, 0x70));
gr.fill(new Rectangle2D.Double(0,0,20,200));

/* 回転させた文字列を描画 */
gr.setColor(new Color(0xff, 0xff, 0xff));
gr.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 14));
gr.rotate(270/180.0*Math.PI, 100, 100);
gr.drawString("San Francisco", 2, 15);
gr.dispose();

ImageIO.write(img, "jpg", new File("sample727a.jpg"));
}
}


元画像(sf.jpg)


出力画像(sample727a.jpg)


関連項目
Java2Dで画像の上に半透明のぼやけた文字列を描画する
Java2Dで文字列をテクスチャ画像で塗りつぶす

No comments: