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)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYCbHo1JADx_8ylmTvINjTBgSM1x3xEZTmTZi-UtAegjkTZ_4JlKBUtS7DUZZN-k40pHijikl8Z7lcIQ6PC5xi_btvUKkM_5fZ702DlMGMZbXA2YlKPzGSWBn7JlaulmCZXnHrfg/s320/pattern1.gif)
出力画像(sample525a.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSDnIS_AM9m0QIIoMySmCQ_NMVlkJrHQYKW36NVseRiypATH4r-qEbwDhxyfj8eyatEUr7TIj1DQ55WCEjv9VQmxIFqiOL6c-xQCDd6n2KLiqMP-B_YfncCqmbPVMQ_rohbAa-nw/s320/sample525a.jpg)
環境
JDK6 Upadate6(JDK1.6.0_06)
関連項目
Java2Dで画像の上に半透明のぼやけた文字列を描画する