У меня есть метод, который генерирует массив байтов, который может быть представлен в виде двухмерного изображения.Я хотел бы показать это изображение в качестве фонового изображения в батик.Я не хочу сохранять массив на диск (как образ), а затем загружать его в батик.Вместо этого я хотел бы предоставить массив батику.Я думаю, что использование 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();
}
}
Если в конструкторе для MyParsedURLData
я установил protocol = "file"
и path="another_image"
, тогда будет загружено другое изображение, какой бы поток не возвращал openStreamRaw
.
Есть предложения?