com.mxgraph.util.mxImageBundle Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jgraphx Show documentation
Show all versions of jgraphx Show documentation
JGraphX Swing Component - Java Graph Visualization Library
This is a binary & source redistribution of the original, unmodified JGraphX library originating from:
"https://github.com/jgraph/jgraphx/archive/v3.4.1.3.zip".
The purpose of this redistribution is to make the library available to other Maven projects.
/**
* $Id: mxImageBundle.java,v 1.5 2011/01/19 20:06:16 gaudenz Exp $
* Copyright (c) 2010, Gaudenz Alder
*/
package com.mxgraph.util;
import java.util.Hashtable;
import java.util.Map;
/**
* 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.
*/
public class mxImageBundle
{
/**
* Maps from keys to images.
*/
protected Map images = new Hashtable();
/**
* Returns the images.
*/
public Map getImages()
{
return images;
}
/**
* Adds the specified entry to the map.
*/
public void putImage(String key, String value)
{
images.put(key, value);
}
/**
* Returns the value for the given key.
*/
public String getImage(String key)
{
if (key != null)
{
return images.get(key);
}
return null;
}
}