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:
Post a Comment