Saturday, August 09, 2008

Java2Dで文字列をテクスチャ画像で塗りつぶす

Java2Dで文字列をテクスチャ画像で塗りつぶすには、以下のコードを実行します。

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

public class Java2DTest14
{
public static void main(String args[])
throws Exception
{
/* 文字列をテクスチャ画像で塗りつぶす */
/* テクスチャ読み込み */
BufferedImage img = ImageIO.read(new File("pattern1.gif"));
TexturePaint tp = new TexturePaint(img,
new Rectangle(0, 0, img.getWidth(), img.getHeight()));

/* 文字列描画用イメージを作成 */
BufferedImage img2 = new BufferedImage(
240, 80, BufferedImage.TYPE_INT_RGB);
Graphics2D gr = img2.createGraphics();

gr.setColor(new Color(0xfa, 0xdf, 0x69));
gr.fillRect(0, 0, img2.getWidth(), img2.getHeight());

/* フォント設定 */
gr.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 60));
/* テクスチャ設定 */
gr.setPaint(tp);
gr.drawString("Sample", 10, 60);
gr.dispose();
ImageIO.write(img2, "jpg", new File("sample525a.jpg"));
}
}

テクスチャ画像(pattern1.gif)


出力画像(sample525a.jpg)


環境
JDK6 Upadate6(JDK1.6.0_06)

関連項目
Java2Dで画像の上に半透明のぼやけた文字列を描画する

No comments: