Used for exporting images. To render to an image from a given XML string, graph size and and background color, the following code is used:
Image image = mxUtils.CreateImage(width, height, background); Graphics g = Graphics.FromImage(image); g.SmoothingMode = SmoothingMode.HighQuality; mxSaxOutputHandler handler = new mxSaxOutputHandler(new mxGdiCanvas2D(g)); handler.Read(new XmlTextReader(new StringReader(xml)));
Classes | |
class | CanvasState |
Public Member Functions | |
mxGdiCanvas2D (Graphics g) | |
void | Save () |
void | Restore () |
void | Scale (double value) |
Sets the given scale. | |
void | Translate (double dx, double dy) |
Translates the canvas. | |
void | Rotate (double theta, bool flipH, bool flipV, double cx, double cy) |
Rotates the canvas. | |
void | SetGradient (String color1, String color2, double x, double y, double w, double h, String direction) |
Sets the given gradient. | |
void | SetGlassGradient (double x, double y, double w, double h) |
Sets the given glass gradient. | |
void | Rect (double x, double y, double w, double h) |
Draws a rectangle. | |
void | Roundrect (double x, double y, double w, double h, double dx, double dy) |
void | Ellipse (double x, double y, double w, double h) |
Draws an ellipse. | |
void | Image (double x, double y, double w, double h, String src, bool aspect, bool flipH, bool flipV) |
Draws an image. | |
void | Text (double x, double y, double w, double h, string str, string align, string valign, bool vertical, bool wrap, string format) |
void | Begin () |
void | MoveTo (double x, double y) |
void | LineTo (double x, double y) |
void | QuadTo (double x1, double y1, double x2, double y2) |
void | CurveTo (double x1, double y1, double x2, double y2, double x3, double y3) |
void | Close () |
void | Stroke () |
void | Fill () |
void | FillAndStroke () |
void | Shadow (String value, bool filled) |
void | Clip () |
Static Public Member Functions | |
static StringFormat | CreateStringFormat (string align, string valign, bool wrap) |
Creates the specified string format. | |
Protected Member Functions | |
Color | ParseColor (string hex) |
Helper method that uses mxUtils#parseColor(String). Subclassers. | |
void | DrawImage (Image image, Rectangle bounds) |
Implements the call to the graphics API. | |
Image | LoadImage (String src) |
Loads the specified image. | |
Rectangle | GetImageBounds (Image img, double x, double y, double w, double h, bool aspect) |
Returns the bounds for the given image. | |
Size | GetImageSize (Image image) |
Returns the size for the given image. | |
void | ConfigureImageGraphics (double x, double y, double w, double h, bool flipH, bool flipV) |
double | GetTextWidth (double x, double y, double w, double h, string align, string valign, bool vertical, Font font, string text, bool wrap, string format) |
Returns the width to be used to render the specifies text. | |
double | GetVerticalTextPosition (double x, double y, double w, double h, string align, string valign, bool vertical, Font font, string text, bool wrap, string format) |
Default alignment is top. | |
double | GetHorizontalTextPosition (double x, double y, double w, double h, string align, string valign, bool vertical, Font font, string text, bool wrap, string format) |
Default alignment is left. | |
void | UpdateFont () |
Font | CreateFont (String family, FontStyle style, int size) |
void | UpdatePen () |
Protected Attributes | |
Graphics | graphics |
CanvasState | state = new CanvasState() |
Stack< CanvasState > | stack = new Stack<CanvasState>() |
GraphicsPath | currentPath |
mxPoint | lastPoint |
Holds the last point of a moveTo or lineTo operation to determine if the. | |
string | currentShadowValue |
Holds the current value for the shadow color. This is used to hold the. | |
Color | currentShadowColor |
Holds the current parsed shadow color. This holds the result of parsing. | |
Properties | |
double | StrokeWidth [set] |
Sets the strokewidth. | |
string | StrokeColor [set] |
bool | Dashed [set] |
Specifies if lines are dashed. | |
string | DashPattern [set] |
Sets the dashpattern. | |
string | LineCap [set] |
Sets the linecap. | |
string | LineJoin [set] |
Sets the linejoin. | |
double | MiterLimit [set] |
Sets the miterlimit. | |
double | FontSize [set] |
Sets the fontsize. | |
string | FontColor [set] |
Sets the fontcolor. | |
string | FontFamily [set] |
Sets the font family. | |
int | FontStyle [set] |
Sets the given fontstyle. | |
double | Alpha [set] |
Sets the given alpha. | |
string | FillColor [set] |
Sets the given fillcolor. |
Used for exporting images. To render to an image from a given XML string, graph size and and background color, the following code is used:
Image image = mxUtils.CreateImage(width, height, background); Graphics g = Graphics.FromImage(image); g.SmoothingMode = SmoothingMode.HighQuality; mxSaxOutputHandler handler = new mxSaxOutputHandler(new mxGdiCanvas2D(g)); handler.Read(new XmlTextReader(new StringReader(xml)));
Text rendering is available for plain text only, with optional word wrapping.
com::mxgraph::mxGdiCanvas2D::mxGdiCanvas2D | ( | Graphics | g | ) | [inline] |
Constructs a new graphics export canvas.
void com::mxgraph::mxGdiCanvas2D::Begin | ( | ) | [inline] |
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::Clip | ( | ) | [inline] |
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::Close | ( | ) | [inline] |
Closes the current path.
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::ConfigureImageGraphics | ( | double | x, | |
double | y, | |||
double | w, | |||
double | h, | |||
bool | flipH, | |||
bool | flipV | |||
) | [inline, protected] |
Creates a graphic instance for rendering an image.
Font com::mxgraph::mxGdiCanvas2D::CreateFont | ( | String | family, | |
FontStyle | style, | |||
int | size | |||
) | [inline, protected] |
Hook for subclassers to implement font caching.
static StringFormat com::mxgraph::mxGdiCanvas2D::CreateStringFormat | ( | string | align, | |
string | valign, | |||
bool | wrap | |||
) | [inline, static] |
Creates the specified string format.
void com::mxgraph::mxGdiCanvas2D::CurveTo | ( | double | x1, | |
double | y1, | |||
double | x2, | |||
double | y2, | |||
double | x3, | |||
double | y3 | |||
) | [inline] |
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::DrawImage | ( | Image | image, | |
Rectangle | bounds | |||
) | [inline, protected] |
Implements the call to the graphics API.
void com::mxgraph::mxGdiCanvas2D::Ellipse | ( | double | x, | |
double | y, | |||
double | w, | |||
double | h | |||
) | [inline] |
Draws an ellipse.
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::Fill | ( | ) | [inline] |
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::FillAndStroke | ( | ) | [inline] |
Implements com::mxgraph::mxICanvas2D.
double com::mxgraph::mxGdiCanvas2D::GetHorizontalTextPosition | ( | double | x, | |
double | y, | |||
double | w, | |||
double | h, | |||
string | align, | |||
string | valign, | |||
bool | vertical, | |||
Font | font, | |||
string | text, | |||
bool | wrap, | |||
string | format | |||
) | [inline, protected] |
Default alignment is left.
Rectangle com::mxgraph::mxGdiCanvas2D::GetImageBounds | ( | Image | img, | |
double | x, | |||
double | y, | |||
double | w, | |||
double | h, | |||
bool | aspect | |||
) | [inline, protected] |
Returns the bounds for the given image.
Size com::mxgraph::mxGdiCanvas2D::GetImageSize | ( | Image | image | ) | [inline, protected] |
Returns the size for the given image.
double com::mxgraph::mxGdiCanvas2D::GetTextWidth | ( | double | x, | |
double | y, | |||
double | w, | |||
double | h, | |||
string | align, | |||
string | valign, | |||
bool | vertical, | |||
Font | font, | |||
string | text, | |||
bool | wrap, | |||
string | format | |||
) | [inline, protected] |
Returns the width to be used to render the specifies text.
double com::mxgraph::mxGdiCanvas2D::GetVerticalTextPosition | ( | double | x, | |
double | y, | |||
double | w, | |||
double | h, | |||
string | align, | |||
string | valign, | |||
bool | vertical, | |||
Font | font, | |||
string | text, | |||
bool | wrap, | |||
string | format | |||
) | [inline, protected] |
Default alignment is top.
void com::mxgraph::mxGdiCanvas2D::Image | ( | double | x, | |
double | y, | |||
double | w, | |||
double | h, | |||
String | src, | |||
bool | aspect, | |||
bool | flipH, | |||
bool | flipV | |||
) | [inline] |
Draws an image.
void com::mxgraph::mxGdiCanvas2D::LineTo | ( | double | x, | |
double | y | |||
) | [inline] |
Implements com::mxgraph::mxICanvas2D.
Image com::mxgraph::mxGdiCanvas2D::LoadImage | ( | String | src | ) | [inline, protected] |
Loads the specified image.
void com::mxgraph::mxGdiCanvas2D::MoveTo | ( | double | x, | |
double | y | |||
) | [inline] |
Implements com::mxgraph::mxICanvas2D.
Color com::mxgraph::mxGdiCanvas2D::ParseColor | ( | string | hex | ) | [inline, protected] |
Helper method that uses mxUtils#parseColor(String). Subclassers.
can override this to implement caching for frequently used colors.
void com::mxgraph::mxGdiCanvas2D::QuadTo | ( | double | x1, | |
double | y1, | |||
double | x2, | |||
double | y2 | |||
) | [inline] |
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::Rect | ( | double | x, | |
double | y, | |||
double | w, | |||
double | h | |||
) | [inline] |
Draws a rectangle.
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::Restore | ( | ) | [inline] |
Restores the last canvas state.
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::Rotate | ( | double | theta, | |
bool | flipH, | |||
bool | flipV, | |||
double | cx, | |||
double | cy | |||
) | [inline] |
Rotates the canvas.
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::Roundrect | ( | double | x, | |
double | y, | |||
double | w, | |||
double | h, | |||
double | dx, | |||
double | dy | |||
) | [inline] |
Draws a rounded rectangle.
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::Save | ( | ) | [inline] |
Saves the current canvas state.
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::Scale | ( | double | value | ) | [inline] |
void com::mxgraph::mxGdiCanvas2D::SetGlassGradient | ( | double | x, | |
double | y, | |||
double | w, | |||
double | h | |||
) | [inline] |
Sets the given glass gradient.
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::SetGradient | ( | String | color1, | |
String | color2, | |||
double | x, | |||
double | y, | |||
double | w, | |||
double | h, | |||
String | direction | |||
) | [inline] |
Sets the given gradient.
void com::mxgraph::mxGdiCanvas2D::Shadow | ( | String | value, | |
bool | filled | |||
) | [inline] |
value |
void com::mxgraph::mxGdiCanvas2D::Stroke | ( | ) | [inline] |
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::Text | ( | double | x, | |
double | y, | |||
double | w, | |||
double | h, | |||
string | str, | |||
string | align, | |||
string | valign, | |||
bool | vertical, | |||
bool | wrap, | |||
string | format | |||
) | [inline] |
Draws the given text.
Implements com::mxgraph::mxICanvas2D.
void com::mxgraph::mxGdiCanvas2D::Translate | ( | double | dx, | |
double | dy | |||
) | [inline] |
void com::mxgraph::mxGdiCanvas2D::UpdateFont | ( | ) | [inline, protected] |
void com::mxgraph::mxGdiCanvas2D::UpdatePen | ( | ) | [inline, protected] |
GraphicsPath com::mxgraph::mxGdiCanvas2D::currentPath [protected] |
Holds the current path.
Color com::mxgraph::mxGdiCanvas2D::currentShadowColor [protected] |
Holds the current parsed shadow color. This holds the result of parsing.
the currentShadowValue, which is an expensive operation.
string com::mxgraph::mxGdiCanvas2D::currentShadowValue [protected] |
Holds the current value for the shadow color. This is used to hold the.
input value of a shadow operation. The parsing result of this value is cached in the global scope as it should be repeating.
Graphics com::mxgraph::mxGdiCanvas2D::graphics [protected] |
Reference to the graphics instance for painting.
mxPoint com::mxgraph::mxGdiCanvas2D::lastPoint [protected] |
Holds the last point of a moveTo or lineTo operation to determine if the.
current path is orthogonal.
Stack<CanvasState> com::mxgraph::mxGdiCanvas2D::stack = new Stack<CanvasState>() [protected] |
Stack of states for save/restore.
CanvasState com::mxgraph::mxGdiCanvas2D::state = new CanvasState() [protected] |
Represents the current state of the canvas.
double com::mxgraph::mxGdiCanvas2D::Alpha [set] |
Sets the given alpha.
Implements com::mxgraph::mxICanvas2D.
bool com::mxgraph::mxGdiCanvas2D::Dashed [set] |
Specifies if lines are dashed.
Implements com::mxgraph::mxICanvas2D.
string com::mxgraph::mxGdiCanvas2D::DashPattern [set] |
Sets the dashpattern.
Implements com::mxgraph::mxICanvas2D.
string com::mxgraph::mxGdiCanvas2D::FillColor [set] |
Sets the given fillcolor.
Implements com::mxgraph::mxICanvas2D.
string com::mxgraph::mxGdiCanvas2D::FontColor [set] |
Sets the fontcolor.
Implements com::mxgraph::mxICanvas2D.
string com::mxgraph::mxGdiCanvas2D::FontFamily [set] |
Sets the font family.
Implements com::mxgraph::mxICanvas2D.
double com::mxgraph::mxGdiCanvas2D::FontSize [set] |
Sets the fontsize.
Implements com::mxgraph::mxICanvas2D.
int com::mxgraph::mxGdiCanvas2D::FontStyle [set] |
Sets the given fontstyle.
Implements com::mxgraph::mxICanvas2D.
string com::mxgraph::mxGdiCanvas2D::LineCap [set] |
Sets the linecap.
Implements com::mxgraph::mxICanvas2D.
string com::mxgraph::mxGdiCanvas2D::LineJoin [set] |
Sets the linejoin.
Implements com::mxgraph::mxICanvas2D.
double com::mxgraph::mxGdiCanvas2D::MiterLimit [set] |
Sets the miterlimit.
Implements com::mxgraph::mxICanvas2D.
string com::mxgraph::mxGdiCanvas2D::StrokeColor [set] |
Caches color conversion as it is expensive.
Implements com::mxgraph::mxICanvas2D.
double com::mxgraph::mxGdiCanvas2D::StrokeWidth [set] |
Sets the strokewidth.
Implements com::mxgraph::mxICanvas2D.