2次元画像として表現できるバイト配列を生成するメソッドがあります。この画像をバティックの背景画像として表示したいと思います。アレイを (イメージとして) ディスクに保存してから、batik にロードしたくありません。代わりに、配列をバティックに提供したいと思います。ParsedURLData を使用すると役立つと思いますが、それを機能させる方法がわかりません。助言がありますか?
を呼び出しParsedURL.registerHandler(new MyProtocolHanlder("myprotocol"));
てMyProtocolHanlder.parseURL
返しますMyParsedURLData
。
自分のストリームを返すとうまくいくと思いましたが、うまくいきません。以下の例では、ディスクから画像を読み込んで表示しようとしています。
class MyParsedURLData extends ParsedURLData {
public MyParsedURLData() {
}
@Override
public InputStream openStreamRaw(String arg0, Iterator arg1) throws IOException {
return new File("some_image_here").toURI().toURL().openStream();
}
}
IのコンストラクターでandMyParsedURLData
を設定するprotocol = "file"
とpath="another_image"
、 によって返されるストリームに関係なく、別の画像が読み込まれopenStreamRaw
ます。
助言がありますか?