|
mxGraph 1.11.0.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.mxgraph.canvas.mxGraphicsCanvas2D
public class mxGraphicsCanvas2D
Used for exporting images. To render to an image from a given XML string,
graph size and background color, the following code is used:
BufferedImage image = mxUtils.createBufferedImage(width, height, background);
Graphics2D g2 = image.createGraphics();
mxUtils.setAntiAlias(g2, true, true);
XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
reader.setContentHandler(new mxSaxOutputHandler(new mxGraphicsCanvas2D(g2)));
reader.parse(new InputSource(new StringReader(xml)));
Text rendering is available for plain text and HTML markup, the latter with optional
word wrapping. CSS support is limited to the following:
http://docs.oracle.com/javase/6/docs/api/index.html?javax/swing/text/html/CSS.html
Nested Class Summary | |
---|---|
protected class |
mxGraphicsCanvas2D.CanvasState
|
Field Summary | |
---|---|
protected boolean |
autoAntiAlias
Specifies if anti aliasing should be disabled for rectangles and orthogonal paths. |
static int |
COLOR_CACHE_SIZE
Specifies the size of the cache used to store parsed colors |
protected LinkedHashMap<String,Color> |
colorCache
Caches parsed colors. |
protected Font |
currentFont
Holds the current font. |
protected GeneralPath |
currentPath
Holds the current path. |
protected boolean |
currentPathIsOrthogonal
Holds the current state for crisp rendering. |
protected Color |
currentShadowColor
Holds the current parsed shadow color. |
protected String |
currentShadowValue
Holds the current value for the shadow color. |
protected Stroke |
currentStroke
Holds the current stroke. |
protected Graphics2D |
graphics
Reference to the graphics instance for painting. |
static int |
IMAGE_SCALING
Specifies the image scaling quality. |
protected Point2D |
lastPoint
Holds the last point of a moveTo or lineTo operation to determine if the current path is orthogonal. |
protected CellRendererPane |
rendererPane
Optional renderer pane to be used for HTML label rendering. |
protected Stack<mxGraphicsCanvas2D.CanvasState> |
stack
Stack of states for save/restore. |
protected mxGraphicsCanvas2D.CanvasState |
state
Represents the current state of the canvas. |
Constructor Summary | |
---|---|
mxGraphicsCanvas2D(Graphics2D g)
Constructs a new graphics export canvas. |
Method Summary | |
---|---|
void |
begin()
Begins a new path. |
void |
clip()
Uses the current path for clipping. |
protected mxGraphicsCanvas2D.CanvasState |
cloneState(mxGraphicsCanvas2D.CanvasState state)
Returns a clone of thec given state. |
void |
close()
Closes the current path. |
protected Font |
createFont(String family,
int style,
int size)
Hook for subclassers to implement font caching. |
protected String |
createHtmlDocument(String text,
String align,
String valign,
int w,
int h)
Creates a HTML document around the given markup. |
protected Graphics2D |
createImageGraphics(double x,
double y,
double w,
double h,
boolean flipH,
boolean flipV)
Creates a graphic instance for rendering an image. |
protected Graphics2D |
createTextGraphics(double x,
double y,
double w,
double h,
boolean vertical)
Returns a new graphics instance with the correct color and font for text rendering. |
void |
curveTo(double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Draws a bezier curve to the given point. |
protected void |
drawImage(Graphics2D graphics,
Image image,
int x,
int y)
|
void |
ellipse(double x,
double y,
double w,
double h)
Next fill or stroke should draw an ellipse. |
void |
fill()
Fills the current path. |
void |
fillAndStroke()
Fills and paints the outline of the current path. |
protected String |
getFontName(String family)
Returns a font name for the given font family. |
Graphics2D |
getGraphics()
Returns the graphics instance. |
protected double |
getHorizontalTextPosition(double x,
double y,
double w,
double h,
String align,
String valign,
boolean vertical,
FontMetrics fm,
String[] lines)
This implementation returns x. |
protected Rectangle |
getImageBounds(Image img,
double x,
double y,
double w,
double h,
boolean aspect)
|
protected Dimension |
getImageSize(Image image)
Returns the size for the given image. |
protected JLabel |
getTextRenderer()
Hook to return the renderer for HTML formatted text. |
protected double |
getVerticalTextPosition(double x,
double y,
double w,
double h,
String align,
String valign,
boolean vertical,
FontMetrics fm,
String[] lines)
|
void |
image(double x,
double y,
double w,
double h,
String src,
boolean aspect,
boolean flipH,
boolean flipV)
Draws the given image. |
boolean |
isAutoAntiAlias()
Returns true if automatic anti aliasing is enabled. |
void |
lineTo(double x,
double y)
Draws a line to the given path. |
protected Image |
loadImage(String src)
Hook for image caching. |
void |
moveTo(double x,
double y)
Moves to the given path. |
protected Color |
parseColor(String hex)
Helper method that uses mxUtils.parseColor(String) . |
void |
quadTo(double x1,
double y1,
double x2,
double y2)
Draws a quadratic curve to the given point. |
void |
rect(double x,
double y,
double w,
double h)
Next fill or stroke should draw a rectangle. |
void |
restore()
Restores the last canvas state. |
void |
rotate(double theta,
boolean flipH,
boolean flipV,
double cx,
double cy)
Rotates the canvas by the given angle around the given center. |
void |
roundrect(double x,
double y,
double w,
double h,
double dx,
double dy)
Implements a rounded rectangle using a path. |
void |
save()
Saves the current canvas state. |
void |
scale(double value)
Uniformaly scales the canvas by the given amount. |
protected Image |
scaleImage(Image img,
int w,
int h)
Uses IMAGE_SCALING to scale the given image. |
void |
setAlpha(double value)
Default value 1. |
void |
setAutoAntiAlias(boolean value)
Disabled or enabled automatic anti aliasing. |
void |
setDashed(boolean value)
Sets the dashed state. |
void |
setDashPattern(String value)
Sets the dash pattern. |
void |
setFillColor(String value)
Default value mxConstants.NONE . |
void |
setFontColor(String value)
Default value "#000000". |
void |
setFontFamily(String value)
Default value mxConstants.DEFAULT_FONTFAMILY . |
void |
setFontSize(double value)
Default value mxConstants.DEFAULT_FONTSIZE . |
void |
setFontStyle(int value)
Default value 0. |
void |
setGlassGradient(double x,
double y,
double w,
double h)
Prepares the canvas to draw a glass gradient. |
void |
setGradient(String color1,
String color2,
double x,
double y,
double w,
double h,
String direction)
Prepares the canvas to draw a gradient. |
void |
setGraphics(Graphics2D value)
Sets the graphics instance. |
void |
setLineCap(String value)
Sets the linecap. |
void |
setLineJoin(String value)
Sets the linejoin. |
void |
setMiterLimit(double value)
Sets the miterlimit. |
void |
setStrokeColor(String value)
Caches color conversion as it is expensive. |
void |
setStrokeWidth(double value)
Sets the stroke width. |
void |
shadow(String value,
boolean filled)
Paints the current path as a shadow. |
void |
stroke()
Paints the outline of the current path. |
void |
text(double x,
double y,
double w,
double h,
String str,
String align,
String valign,
boolean vertical,
boolean wrap,
String format)
Draws the given text. |
void |
translate(double dx,
double dy)
Translates the canvas by the given amount. |
protected void |
updateFont()
|
protected void |
updateStroke()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static int IMAGE_SCALING
scaleImage(Image, int, int)
public static int COLOR_CACHE_SIZE
protected Graphics2D graphics
protected boolean autoAntiAlias
protected transient mxGraphicsCanvas2D.CanvasState state
protected transient Stack<mxGraphicsCanvas2D.CanvasState> stack
protected transient GeneralPath currentPath
protected transient boolean currentPathIsOrthogonal
protected transient Point2D lastPoint
protected transient Stroke currentStroke
protected transient Font currentFont
protected transient String currentShadowValue
protected transient Color currentShadowColor
protected CellRendererPane rendererPane
protected transient LinkedHashMap<String,Color> colorCache
Constructor Detail |
---|
public mxGraphicsCanvas2D(Graphics2D g)
Method Detail |
---|
public void setGraphics(Graphics2D value)
public Graphics2D getGraphics()
public boolean isAutoAntiAlias()
public void setAutoAntiAlias(boolean value)
public void save()
save
in interface mxICanvas2D
public void restore()
restore
in interface mxICanvas2D
protected mxGraphicsCanvas2D.CanvasState cloneState(mxGraphicsCanvas2D.CanvasState state)
public void scale(double value)
mxICanvas2D
scale
in interface mxICanvas2D
value
- The new scale value.public void translate(double dx, double dy)
mxICanvas2D
translate
in interface mxICanvas2D
dx
- X-coordinate of the translation.dy
- Y-coordinate of the translation.public void rotate(double theta, boolean flipH, boolean flipV, double cx, double cy)
mxICanvas2D
rotate
in interface mxICanvas2D
theta
- Rotation angle in degrees (0 - 360).flipH
- Specifies if drawing should be flipped horizontally.flipV
- Specifies if drawing should be flipped vertically.cx
- X-coordinate of the center point.cy
- Y-coordinate of the center point.public void setStrokeWidth(double value)
mxICanvas2D
setStrokeWidth
in interface mxICanvas2D
value
- Width of the stroke. The value should be multiplied by the
current scale.public void setStrokeColor(String value)
setStrokeColor
in interface mxICanvas2D
value
- Hex representation of the color or mxConstants.NONE
.public void setDashed(boolean value)
mxICanvas2D
setDashed
in interface mxICanvas2D
value
- Boolean representing the dashed state.public void setDashPattern(String value)
mxICanvas2D
setDashPattern
in interface mxICanvas2D
value
- Space separated list of floats representing the dash
pattern. The value should be multiplied by the current scale.public void setLineCap(String value)
mxICanvas2D
setLineCap
in interface mxICanvas2D
value
- "flat", "square" or "round".public void setLineJoin(String value)
mxICanvas2D
setLineJoin
in interface mxICanvas2D
value
- "miter", "round" or "bevel".public void setMiterLimit(double value)
mxICanvas2D
setMiterLimit
in interface mxICanvas2D
public void setFontSize(double value)
mxICanvas2D
mxConstants.DEFAULT_FONTSIZE
.
setFontSize
in interface mxICanvas2D
public void setFontColor(String value)
mxICanvas2D
setFontColor
in interface mxICanvas2D
value
- Hex representation of the color or mxConstants.NONE
.public void setFontFamily(String value)
mxICanvas2D
mxConstants.DEFAULT_FONTFAMILY
.
setFontFamily
in interface mxICanvas2D
public void setFontStyle(int value)
mxICanvas2D
mxConstants.STYLE_FONTSTYLE
.
setFontStyle
in interface mxICanvas2D
public void setAlpha(double value)
mxICanvas2D
setAlpha
in interface mxICanvas2D
public void setFillColor(String value)
mxICanvas2D
mxConstants.NONE
.
setFillColor
in interface mxICanvas2D
value
- Hex representation of the color or mxConstants.NONE
.public void setGradient(String color1, String color2, double x, double y, double w, double h, String direction)
mxICanvas2D
setGradient
in interface mxICanvas2D
direction
- Direction may be null. Use default value
mxConstants.DIRECTION_SOUTH
.protected Color parseColor(String hex)
mxUtils.parseColor(String)
.
public void setGlassGradient(double x, double y, double w, double h)
mxICanvas2D
setGlassGradient
in interface mxICanvas2D
public void rect(double x, double y, double w, double h)
mxICanvas2D
rect
in interface mxICanvas2D
public void roundrect(double x, double y, double w, double h, double dx, double dy)
roundrect
in interface mxICanvas2D
public void ellipse(double x, double y, double w, double h)
mxICanvas2D
ellipse
in interface mxICanvas2D
public void image(double x, double y, double w, double h, String src, boolean aspect, boolean flipH, boolean flipV)
mxICanvas2D
image
in interface mxICanvas2D
protected void drawImage(Graphics2D graphics, Image image, int x, int y)
protected Image loadImage(String src)
protected final Rectangle getImageBounds(Image img, double x, double y, double w, double h, boolean aspect)
protected Dimension getImageSize(Image image)
protected Image scaleImage(Image img, int w, int h)
IMAGE_SCALING
to scale the given image.
protected final Graphics2D createImageGraphics(double x, double y, double w, double h, boolean flipH, boolean flipV)
protected String createHtmlDocument(String text, String align, String valign, int w, int h)
protected JLabel getTextRenderer()
public void text(double x, double y, double w, double h, String str, String align, String valign, boolean vertical, boolean wrap, String format)
text
in interface mxICanvas2D
protected final Graphics2D createTextGraphics(double x, double y, double w, double h, boolean vertical)
protected double getVerticalTextPosition(double x, double y, double w, double h, String align, String valign, boolean vertical, FontMetrics fm, String[] lines)
protected double getHorizontalTextPosition(double x, double y, double w, double h, String align, String valign, boolean vertical, FontMetrics fm, String[] lines)
public void begin()
mxICanvas2D
begin
in interface mxICanvas2D
public void moveTo(double x, double y)
mxICanvas2D
moveTo
in interface mxICanvas2D
public void lineTo(double x, double y)
mxICanvas2D
lineTo
in interface mxICanvas2D
public void quadTo(double x1, double y1, double x2, double y2)
mxICanvas2D
quadTo
in interface mxICanvas2D
public void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
mxICanvas2D
curveTo
in interface mxICanvas2D
public void close()
close
in interface mxICanvas2D
public void stroke()
mxICanvas2D
stroke
in interface mxICanvas2D
public void fill()
mxICanvas2D
fill
in interface mxICanvas2D
public void fillAndStroke()
mxICanvas2D
fillAndStroke
in interface mxICanvas2D
public void shadow(String value, boolean filled)
mxICanvas2D
shadow
in interface mxICanvas2D
public void clip()
mxICanvas2D
clip
in interface mxICanvas2D
protected void updateFont()
protected Font createFont(String family, int style, int size)
protected String getFontName(String family)
protected void updateStroke()
|
mxGraph 1.11.0.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |