DATE : 2006/08/16 (Wed)
「JAI の簡単な使い方」では、javax.media.jai.JAI#create(String, java.awt.image.renderable.ParameterBlock) を使いました。この create メソッドは、操作内容の文字列とパラメータとを引数にとりますが、他にも、RenderingHints を引数に取る create メソッドがあります。(javax.media.jai.JAI#create(String, java.awt.image.renderable.ParameterBlock, java.awt.RenderingHints))
RenderingHints とは、java.awt.RenderingHints で定義されているクラスで、描画方法を指定できます。例えば、線を描画する際にはアンチエイリアスをかける、かけないといった指定などです。
JAI で用意されたレンダリングヒントを設定すると、分割画像を作ることができます。
具体的には、javax.media.jai.JAI#KEY_IMAGE_LAYOUT を使用します。このレンダリングヒントを指定して、内容として javax.media.jai.ImageLayout オブジェクトを指定します。
以下に、1つの分割画像が100×100の画像を生成するコードを示します。なお、分割対象の画像オブジェクトは source 変数に格納されているものとします。(import 文などは省略しています)
ImageLayout layout = new ImageLayout();
layout.setTileWidth(100);
layout.setTileHeight(100);
ParameterBlock parameter = new ParameterBlock();
parameter.addSource(source);
RenderingHints hints = new RenderingHints(JAI.KEY_IMAGE_LAYOUT, layout);
RenderedImage result = JAI.create("Null", parameter, hints);
この記事では特に行う操作はないので、 create メソッドに Null 操作を指定しました。
ImageLayout オブジェクトの tileWidth, tileHeight プロパティを設定し、RenderingHints に格納、create メソッドに渡すことで、分割画像を作ることができます。