Monday, July 14, 2008

Java2Dでグラデーションの角丸四角を描画する

Java2Dでグラデーションの角丸四角を描画するには、以下のコードを実行します。

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

public class Java2DTest6
{
public static void main(String args[])
throws Exception
{
/* グラデーションの角丸四角の画像を生成 */
BufferedImage img = new BufferedImage(
150, 150, BufferedImage.TYPE_INT_BGR
);
Graphics2D gr = img.createGraphics();
/* 背景を灰色で塗りつぶし */
gr.setColor(Color.LIGHT_GRAY);
gr.fillRect(0, 0, 150, 150);

/* グラデーションを作成 */
GradientPaint gp = new GradientPaint(
0, 0,
new Color(0xbb, 0xdd, 0xff),
0, 150,
new Color(0xff, 0xff, 0xff)
);
gr.setPaint(gp);

/* 角丸四角を描画 */
RoundRectangle2D rr = new RoundRectangle2D.Double(
10.0, 10.0, 130.0, 130.0, 20.0, 20.0);
gr.fill(rr);
gr.dispose();
ImageIO.write(img, "png", new File("sample498a.png"));
}
}

出力画像(sample498a.png)


環境
JDK6 Upadate6(JDK1.6.0_06)

No comments: