Imageクラスオブジェクトに画像を設定する
データベース上から持ってきたデータがbyte[]なんだけど、それをImageクラスオブジェクトに入れたくて試行錯誤した結果。これでいいのかな??
final byte[] decoded = ... 画像をByte[]で取得
Image image = new Image(
"image",
new WebResource() {
@Override
public IResourceStream getResourceStream() {
return new AbstractResourceStream() {
private ByteArrayInputStream _input;
@Override
public InputStream getInputStream() throws ResourceStreamNotFoundException {
_input = new ByteArrayInputStream(decoded);
return _input;
}
@Override
public void close() throws IOException {
_input.close();
}
};
}
}
);
Image img = new Image(
"img",
new WebResource() {
@Override
public IResourceStream getResourceStream() {
try {
return new UrlResourceStream(new URL("http://example.com/back.jpg"));
} catch (MalformedURLException e) {
throw new RuntimeException(e);
}
}
}
);