Javaでイメージ描画

昨今のWeb系アプリケーションでは、動的にHTMLを出力するようなものがほとんどですが、
たまに、「画像を出力してくれ」ということもあります。
Perlやphpなら、「GD」というライブラリがあり、それを使ってたとえば
アクセスカウンタの画像を動的に生成したりしていましたね。

Javaではこの「GD」にあたるのが「java.awt.Graphics」「java.awt.Image」とそのあたりのパッケージです。

まずは、描画するキャンバスとしてのクラスを生成します。

int imageHeight = 500;
int imageWidth = 500;
 
BufferedImage image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_ARGB);

これで、500px × 500pxのキャンバスが出来ました。
最後の引数はRGBAカラーモデルを指定しており、
まあとりあえずこれにしておけば大抵okでしょう。

これを元に、Graphics2Dというクラスを作成します。

Graphics2D gdImage = image.createGraphics();

今後描画していくのは、このGraphics2Dのインスタンスに対して行っていきます。

まずは背景色を白で塗りつぶしてみます。

gdImage.setBackGround(new Color(255, 255, 255));
gdImage.clearRect(0, 0, image.getWidth, image.getHeight);

最初に、背景色とする色を決めます。
そして、clearRectメソッドを呼ぶと指定した範囲を背景色で塗りつぶしてくれます。
今回は、座標x、yが0で、イメージ全体を指定するので

image.getWidth, image.getHeight

と全体を指定しています。

続きます(たぶん)


One Comment

Leave a Reply