Javadoc
Maps from keys to base64 encoded images or file locations. All values must
be URLs or use the format data:image/format followed by a comma and the base64
encoded image data, eg. "data:image/gif,XYZ", where XYZ is the base64 encoded
image data.
To add a new image bundle to an existing graph, the following code is used:
mxImageBundle bundle = new mxImageBundle();
bundle.PutImage("myImage", "data:image/gif,R0lGODlhEAAQAMIGAAAAAICAAICAgP" +
"//AOzp2O3r2////////yH+FUNyZWF0ZWQgd2l0aCBUaGUgR0lNUAAh+QQBCgAHACwAAAAA" +
"EAAQAAADTXi63AowynnAMDfjPUDlnAAJhmeBFxAEloliKltWmiYCQvfVr6lBPB1ggxN1hi" +
"laSSASFQpIV5HJBDyHpqK2ejVRm2AAgZCdmCGO9CIBADs=");
graph.addImageBundle(bundle);
The image can then be referenced in any cell style using image=myImage.
If you are using mxOutline, you should use the same image bundles in the
graph that renders the outline.
To convert a given BufferedImage to a base64 encoded String, the following
code can be used:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write(image, "png", bos);
System.out.println("base64=" + mxBase64.encodeToString(
bos.toByteArray(), false));
The value is decoded in mxUtils.loadImage. The keys for images are resolved
and the short format above is converted to a data URI in
mxGraph.postProcessCellStyle.