com.mxgraph.canvas
Class mxGraphicsCanvas2D
- java.lang.Object
-
- com.mxgraph.canvas.mxGraphicsCanvas2D
-
- All Implemented Interfaces:
- mxICanvas2D
public class mxGraphicsCanvas2D extends java.lang.Object implements mxICanvas2D
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
-
-
Field Summary
Fields Modifier and Type Field and Description static intCOLOR_CACHE_SIZESpecifies the size of the cache used to store parsed colorsstatic doubleHTML_SCALEScale for rendering HTML output.static java.lang.StringHTML_UNITUnit to be used for HTML labels.static intIMAGE_SCALINGSpecifies the image scaling quality.static intJAVA_TEXT_WIDTH_DELTASpecifies the additional pixels when computing the text width for HTML labels.
-
Constructor Summary
Constructors Constructor and Description mxGraphicsCanvas2D(java.awt.Graphics2D g)Constructs a new graphics export canvas.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidbegin()Begins a new path.voidclose()Closes the current path.voidcurveTo(double x1, double y1, double x2, double y2, double x3, double y3)Draws a bezier curve to the given point.voidellipse(double x, double y, double w, double h)Next fill or stroke should draw an ellipse.voidfill()Fills the current path.voidfillAndStroke()Fills and paints the outline of the current path.java.awt.Graphics2DgetGraphics()Returns the graphics instance.voidimage(double x, double y, double w, double h, java.lang.String src, boolean aspect, boolean flipH, boolean flipV)Draws the given image.booleanisTextEnabled()Returns true if text should be rendered.voidlineTo(double x, double y)Draws a line to the given path.voidmoveTo(double x, double y)Moves to the given path.voidplainText(double x, double y, double w, double h, java.lang.String str, java.lang.String align, java.lang.String valign, boolean wrap, java.lang.String format, java.lang.String overflow, boolean clip, double rotation)Draws the given text.voidquadTo(double x1, double y1, double x2, double y2)Draws a quadratic curve to the given point.voidrect(double x, double y, double w, double h)Next fill or stroke should draw a rectangle.voidrestore()Restores the last canvas state.voidrotate(double theta, boolean flipH, boolean flipV, double cx, double cy)Rotates the canvas by the given angle around the given center.voidroundrect(double x, double y, double w, double h, double dx, double dy)Implements a rounded rectangle using a path.voidsave()Saves the current canvas state.voidscale(double value)Uniformaly scales the canvas by the given amount.voidsetAlpha(double value)Default value 1.voidsetDashed(boolean value)Sets the dashed state.voidsetDashPattern(java.lang.String value)Sets the dash pattern.voidsetFillAlpha(double value)Default value 1.voidsetFillColor(java.lang.String value)Default valuemxConstants.NONE.voidsetFontBackgroundColor(java.lang.String value)Default value "#000000".voidsetFontBorderColor(java.lang.String value)Default value "#000000".voidsetFontColor(java.lang.String value)Default value "#000000".voidsetFontFamily(java.lang.String value)Default valuemxConstants.DEFAULT_FONTFAMILY.voidsetFontSize(double value)Default valuemxConstants.DEFAULT_FONTSIZE.voidsetFontStyle(int value)Default value 0.voidsetGradient(java.lang.String color1, java.lang.String color2, double x, double y, double w, double h, java.lang.String direction, double alpha1, double alpha2)Prepares the canvas to draw a gradient.voidsetGraphics(java.awt.Graphics2D value)Sets the graphics instance.voidsetLineCap(java.lang.String value)Sets the linecap.voidsetLineJoin(java.lang.String value)Sets the linejoin.voidsetMiterLimit(double value)Sets the miterlimit.voidsetShadow(boolean value)Enables or disables the painting of shadows.voidsetShadowAlpha(double value)Default valuemxConstants.NONE.voidsetShadowColor(java.lang.String value)Default valuemxConstants.NONE.voidsetShadowOffset(double dx, double dy)Default valuemxConstants.NONE.voidsetStrokeAlpha(double value)Default value 1.voidsetStrokeColor(java.lang.String value)Caches color conversion as it is expensive.voidsetStrokeWidth(double value)Sets the stroke width.voidsetTextEnabled(boolean value)Disables or enables text rendering.voidstroke()Paints the outline of the current path.voidtext(double x, double y, double w, double h, java.lang.String str, java.lang.String align, java.lang.String valign, boolean wrap, java.lang.String format, java.lang.String overflow, boolean clip, double rotation, java.lang.String textDirection)Draws the given text.voidtranslate(double dx, double dy)Translates the canvas by the given amount.
-
-
-
Field Detail
-
IMAGE_SCALING
public static int IMAGE_SCALING
Specifies the image scaling quality. Default is Image.SCALE_SMOOTH. SeescaleImage(Image, int, int)
-
JAVA_TEXT_WIDTH_DELTA
public static int JAVA_TEXT_WIDTH_DELTA
Specifies the additional pixels when computing the text width for HTML labels. Default is 5.
-
HTML_SCALE
public static double HTML_SCALE
Scale for rendering HTML output. Default is 1.
-
HTML_UNIT
public static java.lang.String HTML_UNIT
Unit to be used for HTML labels. Default is "pt".
-
COLOR_CACHE_SIZE
public static int COLOR_CACHE_SIZE
Specifies the size of the cache used to store parsed colors
-
-
Constructor Detail
-
mxGraphicsCanvas2D
public mxGraphicsCanvas2D(java.awt.Graphics2D g)
Constructs a new graphics export canvas.
-
-
Method Detail
-
setGraphics
public void setGraphics(java.awt.Graphics2D value)
Sets the graphics instance.
-
getGraphics
public java.awt.Graphics2D getGraphics()
Returns the graphics instance.
-
isTextEnabled
public boolean isTextEnabled()
Returns true if text should be rendered.
-
setTextEnabled
public void setTextEnabled(boolean value)
Disables or enables text rendering.
-
save
public void save()
Saves the current canvas state.- Specified by:
savein interfacemxICanvas2D
-
restore
public void restore()
Restores the last canvas state.- Specified by:
restorein interfacemxICanvas2D
-
scale
public void scale(double value)
Description copied from interface:mxICanvas2DUniformaly scales the canvas by the given amount.- Specified by:
scalein interfacemxICanvas2D- Parameters:
value- The new scale value.
-
translate
public void translate(double dx, double dy)Description copied from interface:mxICanvas2DTranslates the canvas by the given amount.- Specified by:
translatein interfacemxICanvas2D- Parameters:
dx- X-coordinate of the translation.dy- Y-coordinate of the translation.
-
rotate
public void rotate(double theta, boolean flipH, boolean flipV, double cx, double cy)Description copied from interface:mxICanvas2DRotates the canvas by the given angle around the given center. This method may add rendering overhead and should be used with care.- Specified by:
rotatein interfacemxICanvas2D- Parameters:
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.
-
setStrokeWidth
public void setStrokeWidth(double value)
Description copied from interface:mxICanvas2DSets the stroke width. This should default to 1 if unset.- Specified by:
setStrokeWidthin interfacemxICanvas2D- Parameters:
value- Width of the stroke. The value should be multiplied by the current scale.
-
setStrokeColor
public void setStrokeColor(java.lang.String value)
Caches color conversion as it is expensive.- Specified by:
setStrokeColorin interfacemxICanvas2D- Parameters:
value- Hex representation of the color ormxConstants.NONE.
-
setDashed
public void setDashed(boolean value)
Description copied from interface:mxICanvas2DSets the dashed state. This should default to false if unset.- Specified by:
setDashedin interfacemxICanvas2D- Parameters:
value- Boolean representing the dashed state.
-
setDashPattern
public void setDashPattern(java.lang.String value)
Description copied from interface:mxICanvas2DSets the dash pattern. This should default to "3 3" if unset.- Specified by:
setDashPatternin interfacemxICanvas2D- Parameters:
value- Space separated list of floats representing the dash pattern. The value should be multiplied by the current scale.
-
setLineCap
public void setLineCap(java.lang.String value)
Description copied from interface:mxICanvas2DSets the linecap. This should default to "flat" if unset.- Specified by:
setLineCapin interfacemxICanvas2D- Parameters:
value- "flat", "square" or "round".
-
setLineJoin
public void setLineJoin(java.lang.String value)
Description copied from interface:mxICanvas2DSets the linejoin. This should default to "miter" if unset.- Specified by:
setLineJoinin interfacemxICanvas2D- Parameters:
value- "miter", "round" or "bevel".
-
setMiterLimit
public void setMiterLimit(double value)
Description copied from interface:mxICanvas2DSets the miterlimit. This should default to 10 if unset.- Specified by:
setMiterLimitin interfacemxICanvas2D
-
setFontSize
public void setFontSize(double value)
Description copied from interface:mxICanvas2DDefault valuemxConstants.DEFAULT_FONTSIZE.- Specified by:
setFontSizein interfacemxICanvas2D
-
setFontColor
public void setFontColor(java.lang.String value)
Description copied from interface:mxICanvas2DDefault value "#000000".- Specified by:
setFontColorin interfacemxICanvas2D- Parameters:
value- Hex representation of the color ormxConstants.NONE.
-
setFontBackgroundColor
public void setFontBackgroundColor(java.lang.String value)
Description copied from interface:mxICanvas2DDefault value "#000000".- Specified by:
setFontBackgroundColorin interfacemxICanvas2D- Parameters:
value- Hex representation of the color ormxConstants.NONE.
-
setFontBorderColor
public void setFontBorderColor(java.lang.String value)
Description copied from interface:mxICanvas2DDefault value "#000000".- Specified by:
setFontBorderColorin interfacemxICanvas2D- Parameters:
value- Hex representation of the color ormxConstants.NONE.
-
setFontFamily
public void setFontFamily(java.lang.String value)
Description copied from interface:mxICanvas2DDefault valuemxConstants.DEFAULT_FONTFAMILY.- Specified by:
setFontFamilyin interfacemxICanvas2D
-
setFontStyle
public void setFontStyle(int value)
Description copied from interface:mxICanvas2DDefault value 0. SeemxConstants.STYLE_FONTSTYLE.- Specified by:
setFontStylein interfacemxICanvas2D
-
setAlpha
public void setAlpha(double value)
Description copied from interface:mxICanvas2DDefault value 1. This method may add rendering overhead and should be used with care.- Specified by:
setAlphain interfacemxICanvas2D
-
setFillAlpha
public void setFillAlpha(double value)
Description copied from interface:mxICanvas2DDefault value 1. This method may add rendering overhead and should be used with care.- Specified by:
setFillAlphain interfacemxICanvas2D
-
setStrokeAlpha
public void setStrokeAlpha(double value)
Description copied from interface:mxICanvas2DDefault value 1. This method may add rendering overhead and should be used with care.- Specified by:
setStrokeAlphain interfacemxICanvas2D
-
setFillColor
public void setFillColor(java.lang.String value)
Description copied from interface:mxICanvas2DDefault valuemxConstants.NONE.- Specified by:
setFillColorin interfacemxICanvas2D- Parameters:
value- Hex representation of the color ormxConstants.NONE.
-
setGradient
public void setGradient(java.lang.String color1, java.lang.String color2, double x, double y, double w, double h, java.lang.String direction, double alpha1, double alpha2)Description copied from interface:mxICanvas2DPrepares the canvas to draw a gradient.- Specified by:
setGradientin interfacemxICanvas2Ddirection- Direction may be null. Use default valuemxConstants.DIRECTION_SOUTH.
-
rect
public void rect(double x, double y, double w, double h)Description copied from interface:mxICanvas2DNext fill or stroke should draw a rectangle.- Specified by:
rectin interfacemxICanvas2D
-
roundrect
public void roundrect(double x, double y, double w, double h, double dx, double dy)Implements a rounded rectangle using a path.- Specified by:
roundrectin interfacemxICanvas2D
-
ellipse
public void ellipse(double x, double y, double w, double h)Description copied from interface:mxICanvas2DNext fill or stroke should draw an ellipse.- Specified by:
ellipsein interfacemxICanvas2D
-
image
public void image(double x, double y, double w, double h, java.lang.String src, boolean aspect, boolean flipH, boolean flipV)Description copied from interface:mxICanvas2DDraws the given image.- Specified by:
imagein interfacemxICanvas2D
-
text
public void text(double x, double y, double w, double h, java.lang.String str, java.lang.String align, java.lang.String valign, boolean wrap, java.lang.String format, java.lang.String overflow, boolean clip, double rotation, java.lang.String textDirection)Draws the given text.- Specified by:
textin interfacemxICanvas2D
-
plainText
public void plainText(double x, double y, double w, double h, java.lang.String str, java.lang.String align, java.lang.String valign, boolean wrap, java.lang.String format, java.lang.String overflow, boolean clip, double rotation)Draws the given text.
-
begin
public void begin()
Description copied from interface:mxICanvas2DBegins a new path.- Specified by:
beginin interfacemxICanvas2D
-
moveTo
public void moveTo(double x, double y)Description copied from interface:mxICanvas2DMoves to the given path.- Specified by:
moveToin interfacemxICanvas2D
-
lineTo
public void lineTo(double x, double y)Description copied from interface:mxICanvas2DDraws a line to the given path.- Specified by:
lineToin interfacemxICanvas2D
-
quadTo
public void quadTo(double x1, double y1, double x2, double y2)Description copied from interface:mxICanvas2DDraws a quadratic curve to the given point.- Specified by:
quadToin interfacemxICanvas2D
-
curveTo
public void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)Description copied from interface:mxICanvas2DDraws a bezier curve to the given point.- Specified by:
curveToin interfacemxICanvas2D
-
close
public void close()
Closes the current path.- Specified by:
closein interfacemxICanvas2D
-
stroke
public void stroke()
Description copied from interface:mxICanvas2DPaints the outline of the current path.- Specified by:
strokein interfacemxICanvas2D
-
fill
public void fill()
Description copied from interface:mxICanvas2DFills the current path.- Specified by:
fillin interfacemxICanvas2D
-
fillAndStroke
public void fillAndStroke()
Description copied from interface:mxICanvas2DFills and paints the outline of the current path.- Specified by:
fillAndStrokein interfacemxICanvas2D
-
setShadow
public void setShadow(boolean value)
Description copied from interface:mxICanvas2DEnables or disables the painting of shadows.- Specified by:
setShadowin interfacemxICanvas2D- Parameters:
value- Whether the shadow should be enabled.
-
setShadowColor
public void setShadowColor(java.lang.String value)
Description copied from interface:mxICanvas2DDefault valuemxConstants.NONE.- Specified by:
setShadowColorin interfacemxICanvas2D- Parameters:
value- Hex representation of the color ormxConstants.NONE.
-
setShadowAlpha
public void setShadowAlpha(double value)
Description copied from interface:mxICanvas2DDefault valuemxConstants.NONE.- Specified by:
setShadowAlphain interfacemxICanvas2D- Parameters:
value- Hex representation of the color ormxConstants.NONE.
-
setShadowOffset
public void setShadowOffset(double dx, double dy)Description copied from interface:mxICanvas2DDefault valuemxConstants.NONE.- Specified by:
setShadowOffsetin interfacemxICanvas2D
-
-
DataMelt 3.0 © DataMelt by jWork.ORG