Project

ChartForgeX

Render deterministic charts, dashboards, topology, hierarchy, and report visuals directly from .NET.

Stars 47
Forks 2
NuGet downloads 75,067
Release ChartForgeX-v2.0.0
Language: HTML Updated: 2026-10-12

API Reference

Class

VisualCanvas

Namespace ChartForgeX.Composition
Assembly ChartForgeX.Visuals
Modifiers sealed

A fixed-size layered visual surface for wallpapers, social images, report covers, and hero graphics.

Inheritance

  • Object
  • VisualCanvas

Usage

Explore 105 API references to this type

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Returned or exposed by 42

Accepted by parameters 63

Methods

AddFeatureStrip 2 overloads
public VisualCanvas AddFeatureStrip(Double x, Double y, Double width, Double height, IEnumerable<VisualCanvasFeatureItem> items) #
Returns: VisualCanvas

Adds a compact feature strip.

Parameters

x System.Double requiredposition: 0
y System.Double requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
items System.Collections.Generic.IEnumerable<ChartForgeX.Composition.VisualCanvasFeatureItem> requiredposition: 4
public VisualCanvas AddFeatureStrip(VisualCanvasPlacement placement, Double width, Double height, IEnumerable<VisualCanvasFeatureItem> items) #
Returns: VisualCanvas

Adds a compact feature strip using anchor-based placement.

Parameters

placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 0
width System.Double requiredposition: 1
height System.Double requiredposition: 2
items System.Collections.Generic.IEnumerable<ChartForgeX.Composition.VisualCanvasFeatureItem> requiredposition: 3
AddHeroBadge 6 overloads
public VisualCanvas AddHeroBadge(RgbaImage image, Double x, Double y, Double width, Double height, String symbol = "", ChartColor? accent = null, VisualCanvasImageFit fit = Contain, Double padding = 10, Double opacity = 1) #
Returns: VisualCanvas

Adds a central badge whose bitmap content is an independent RGBA snapshot.

Parameters

image ChartForgeX.Raster.RgbaImage requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
symbol System.String = "" optionalposition: 5
accent ChartForgeX.Primitives.ChartColor? = null optionalposition: 6
fit ChartForgeX.Composition.VisualCanvasImageFit = Contain optionalposition: 7
padding System.Double = 10 optionalposition: 8
opacity System.Double = 1 optionalposition: 9
public VisualCanvas AddHeroBadge(RgbaImage image, VisualCanvasPlacement placement, Double width, Double height, String symbol = "", ChartColor? accent = null, VisualCanvasImageFit fit = Contain, Double padding = 10, Double opacity = 1) #
Returns: VisualCanvas

Adds a central badge with bitmap snapshot content using anchor-based placement.

Parameters

image ChartForgeX.Raster.RgbaImage requiredposition: 0
placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
symbol System.String = "" optionalposition: 4
accent ChartForgeX.Primitives.ChartColor? = null optionalposition: 5
fit ChartForgeX.Composition.VisualCanvasImageFit = Contain optionalposition: 6
padding System.Double = 10 optionalposition: 7
opacity System.Double = 1 optionalposition: 8
public VisualCanvas AddHeroBadge(Double x, Double y, Double width, Double height, String symbol, ChartColor? accent = null) #
Returns: VisualCanvas

Adds a central icon or logo badge.

Parameters

x System.Double requiredposition: 0
y System.Double requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
symbol System.String requiredposition: 4
accent ChartForgeX.Primitives.ChartColor? = null optionalposition: 5
public VisualCanvas AddHeroBadge(Double x, Double y, Double width, Double height, String symbol, ChartColor? accent, String? imageHref, Byte[]? imageRgba = null, Int32 imageSourceWidth = 0, Int32 imageSourceHeight = 0, VisualCanvasImageFit imageFit = Contain, Double imagePadding = 10, Double imageOpacity = 1) #
Returns: VisualCanvas

Adds a central icon or logo badge with optional image content.

Parameters

x System.Double requiredposition: 0
y System.Double requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
symbol System.String requiredposition: 4
accent ChartForgeX.Primitives.ChartColor? requiredposition: 5
imageHref System.String? requiredposition: 6
imageRgba System.Byte[]? = null optionalposition: 7
imageSourceWidth System.Int32 = 0 optionalposition: 8
imageSourceHeight System.Int32 = 0 optionalposition: 9
imageFit ChartForgeX.Composition.VisualCanvasImageFit = Contain optionalposition: 10
imagePadding System.Double = 10 optionalposition: 11
imageOpacity System.Double = 1 optionalposition: 12
public VisualCanvas AddHeroBadge(VisualCanvasPlacement placement, Double width, Double height, String symbol, ChartColor? accent = null) #
Returns: VisualCanvas

Adds a central icon or logo badge using anchor-based placement.

Parameters

placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 0
width System.Double requiredposition: 1
height System.Double requiredposition: 2
symbol System.String requiredposition: 3
accent ChartForgeX.Primitives.ChartColor? = null optionalposition: 4
public VisualCanvas AddHeroBadge(VisualCanvasPlacement placement, Double width, Double height, String symbol, ChartColor? accent, String? imageHref, Byte[]? imageRgba = null, Int32 imageSourceWidth = 0, Int32 imageSourceHeight = 0, VisualCanvasImageFit imageFit = Contain, Double imagePadding = 10, Double imageOpacity = 1) #
Returns: VisualCanvas

Adds a central icon or logo badge with optional image content using anchor-based placement.

Parameters

placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 0
width System.Double requiredposition: 1
height System.Double requiredposition: 2
symbol System.String requiredposition: 3
accent ChartForgeX.Primitives.ChartColor? requiredposition: 4
imageHref System.String? requiredposition: 5
imageRgba System.Byte[]? = null optionalposition: 6
imageSourceWidth System.Int32 = 0 optionalposition: 7
imageSourceHeight System.Int32 = 0 optionalposition: 8
imageFit ChartForgeX.Composition.VisualCanvasImageFit = Contain optionalposition: 9
imagePadding System.Double = 10 optionalposition: 10
imageOpacity System.Double = 1 optionalposition: 11
AddHeroTitle 2 overloads
public VisualCanvas AddHeroTitle(Double x, Double y, Double width, Double fontSize, IEnumerable<VisualCanvasTextRun> runs, TextAlignment alignment = Center) #
Returns: VisualCanvas

Adds a multi-color hero title layer.

Parameters

x System.Double requiredposition: 0
y System.Double requiredposition: 1
width System.Double requiredposition: 2
fontSize System.Double requiredposition: 3
runs System.Collections.Generic.IEnumerable<ChartForgeX.Composition.VisualCanvasTextRun> requiredposition: 4
alignment ChartForgeX.Typography.TextAlignment = Center optionalposition: 5
public VisualCanvas AddHeroTitle(VisualCanvasPlacement placement, Double width, Double fontSize, IEnumerable<VisualCanvasTextRun> runs, TextAlignment alignment = Center) #
Returns: VisualCanvas

Adds a multi-color hero title layer using anchor-based placement.

Parameters

placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 0
width System.Double requiredposition: 1
fontSize System.Double requiredposition: 2
runs System.Collections.Generic.IEnumerable<ChartForgeX.Composition.VisualCanvasTextRun> requiredposition: 3
alignment ChartForgeX.Typography.TextAlignment = Center optionalposition: 4
AddImage 4 overloads
public VisualCanvas AddImage(RgbaImage image, Double x, Double y, Double width, Double height, Double opacity = 1, VisualCanvasImageFit fit = Stretch) #
Returns: VisualCanvas

Adds a bitmap layer from an independent snapshot of the supplied RGBA image.

Parameters

image ChartForgeX.Raster.RgbaImage requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
opacity System.Double = 1 optionalposition: 5
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 6
public VisualCanvas AddImage(RgbaImage image, VisualCanvasPlacement placement, Double width, Double height, Double opacity = 1, VisualCanvasImageFit fit = Stretch) #
Returns: VisualCanvas

Adds a bitmap snapshot using anchor-based placement.

Parameters

image ChartForgeX.Raster.RgbaImage requiredposition: 0
placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
opacity System.Double = 1 optionalposition: 4
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 5
public VisualCanvas AddImage(Double x, Double y, Double width, Double height, String? href = null, Byte[]? rgba = null, Int32 sourceWidth = 0, Int32 sourceHeight = 0, Double opacity = 1, VisualCanvasImageFit fit = Stretch) #
Returns: VisualCanvas

Adds an image layer from an SVG resource reference, borrowed RGBA pixels, or an explicit pair of vector and raster representations.

Parameters

x System.Double requiredposition: 0
y System.Double requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
href System.String? = null optionalposition: 4
rgba System.Byte[]? = null optionalposition: 5
sourceWidth System.Int32 = 0 optionalposition: 6
sourceHeight System.Int32 = 0 optionalposition: 7
opacity System.Double = 1 optionalposition: 8
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 9
public VisualCanvas AddImage(VisualCanvasPlacement placement, Double width, Double height, String? href = null, Byte[]? rgba = null, Int32 sourceWidth = 0, Int32 sourceHeight = 0, Double opacity = 1, VisualCanvasImageFit fit = Stretch) #
Returns: VisualCanvas

Adds an image layer using anchor-based placement.

Parameters

placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 0
width System.Double requiredposition: 1
height System.Double requiredposition: 2
href System.String? = null optionalposition: 3
rgba System.Byte[]? = null optionalposition: 4
sourceWidth System.Int32 = 0 optionalposition: 5
sourceHeight System.Int32 = 0 optionalposition: 6
opacity System.Double = 1 optionalposition: 7
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 8
AddInfoTile 2 overloads
public VisualCanvas AddInfoTile(Double x, Double y, Double width, Double height, String icon, String label, String value, String? detail = null, ChartColor? accent = null, Double? progress = null, VisualCanvasInfoTileSurfaceStyle surfaceStyle = Glass, VisualCanvasInfoTileIconKind iconKind = Text, VisualCanvasInfoTileMiniChartKind miniChartKind = None, IEnumerable<Double>? miniChartValues = null, Double? miniChartMaximum = null, VisualCanvasTextFitPolicy textFitPolicy = Auto) #
Returns: VisualCanvas

Adds a reusable information tile.

Parameters

x System.Double requiredposition: 0
y System.Double requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
icon System.String requiredposition: 4
label System.String requiredposition: 5
value System.String requiredposition: 6
detail System.String? = null optionalposition: 7
accent ChartForgeX.Primitives.ChartColor? = null optionalposition: 8
progress System.Double? = null optionalposition: 9
surfaceStyle ChartForgeX.Composition.VisualCanvasInfoTileSurfaceStyle = Glass optionalposition: 10
iconKind ChartForgeX.Composition.VisualCanvasInfoTileIconKind = Text optionalposition: 11
miniChartKind ChartForgeX.Composition.VisualCanvasInfoTileMiniChartKind = None optionalposition: 12
miniChartValues System.Collections.Generic.IEnumerable<System.Double>? = null optionalposition: 13
miniChartMaximum System.Double? = null optionalposition: 14
textFitPolicy ChartForgeX.Composition.VisualCanvasTextFitPolicy = Auto optionalposition: 15
public VisualCanvas AddInfoTile(VisualCanvasPlacement placement, Double width, Double height, String icon, String label, String value, String? detail = null, ChartColor? accent = null, Double? progress = null, VisualCanvasInfoTileSurfaceStyle surfaceStyle = Glass, VisualCanvasInfoTileIconKind iconKind = Text, VisualCanvasInfoTileMiniChartKind miniChartKind = None, IEnumerable<Double>? miniChartValues = null, Double? miniChartMaximum = null, VisualCanvasTextFitPolicy textFitPolicy = Auto) #
Returns: VisualCanvas

Adds a reusable information tile using anchor-based placement.

Parameters

placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 0
width System.Double requiredposition: 1
height System.Double requiredposition: 2
icon System.String requiredposition: 3
label System.String requiredposition: 4
value System.String requiredposition: 5
detail System.String? = null optionalposition: 6
accent ChartForgeX.Primitives.ChartColor? = null optionalposition: 7
progress System.Double? = null optionalposition: 8
surfaceStyle ChartForgeX.Composition.VisualCanvasInfoTileSurfaceStyle = Glass optionalposition: 9
iconKind ChartForgeX.Composition.VisualCanvasInfoTileIconKind = Text optionalposition: 10
miniChartKind ChartForgeX.Composition.VisualCanvasInfoTileMiniChartKind = None optionalposition: 11
miniChartValues System.Collections.Generic.IEnumerable<System.Double>? = null optionalposition: 12
miniChartMaximum System.Double? = null optionalposition: 13
textFitPolicy ChartForgeX.Composition.VisualCanvasTextFitPolicy = Auto optionalposition: 14
AddKeyValueBlock 2 overloads
public VisualCanvas AddKeyValueBlock(Double x, Double y, Double width, IEnumerable<VisualCanvasKeyValueItem> items, Double labelFontSize = 16, Double valueFontSize = 16, Double columnGap = 24, Double rowGap = 4, Double? labelWidth = null, Double? valueWrapWidth = null, ChartColor? labelColor = null, ChartColor? valueColor = null, String? fontFamilyName = null) #
Returns: VisualCanvas

Adds a key/value text block with measured columns and wrapped values.

Parameters

x System.Double requiredposition: 0
y System.Double requiredposition: 1
width System.Double requiredposition: 2
items System.Collections.Generic.IEnumerable<ChartForgeX.Composition.VisualCanvasKeyValueItem> requiredposition: 3
labelFontSize System.Double = 16 optionalposition: 4
valueFontSize System.Double = 16 optionalposition: 5
columnGap System.Double = 24 optionalposition: 6
rowGap System.Double = 4 optionalposition: 7
labelWidth System.Double? = null optionalposition: 8
valueWrapWidth System.Double? = null optionalposition: 9
labelColor ChartForgeX.Primitives.ChartColor? = null optionalposition: 10
valueColor ChartForgeX.Primitives.ChartColor? = null optionalposition: 11
fontFamilyName System.String? = null optionalposition: 12
public VisualCanvas AddKeyValueBlock(VisualCanvasPlacement placement, Double width, IEnumerable<VisualCanvasKeyValueItem> items, Double labelFontSize = 16, Double valueFontSize = 16, Double columnGap = 24, Double rowGap = 4, Double? labelWidth = null, Double? valueWrapWidth = null, ChartColor? labelColor = null, ChartColor? valueColor = null, String? fontFamilyName = null) #
Returns: VisualCanvas

Adds a key/value text block with measured columns and wrapped values using anchor-based placement.

Parameters

placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 0
width System.Double requiredposition: 1
items System.Collections.Generic.IEnumerable<ChartForgeX.Composition.VisualCanvasKeyValueItem> requiredposition: 2
labelFontSize System.Double = 16 optionalposition: 3
valueFontSize System.Double = 16 optionalposition: 4
columnGap System.Double = 24 optionalposition: 5
rowGap System.Double = 4 optionalposition: 6
labelWidth System.Double? = null optionalposition: 7
valueWrapWidth System.Double? = null optionalposition: 8
labelColor ChartForgeX.Primitives.ChartColor? = null optionalposition: 9
valueColor ChartForgeX.Primitives.ChartColor? = null optionalposition: 10
fontFamilyName System.String? = null optionalposition: 11
public VisualCanvas AddLayer(VisualCanvasLayer layer) #
Returns: VisualCanvas

Adds a layer to the canvas.

Parameters

layer ChartForgeX.Composition.VisualCanvasLayer requiredposition: 0
AddText 4 overloads
public VisualCanvas AddText(Double x, Double y, Double width, String text, Double fontSize, TextAlignment alignment = Left, Boolean emphasized = false) #
Returns: VisualCanvas

Adds a plain text layer using the canvas primary foreground at render time.

Parameters

x System.Double requiredposition: 0
y System.Double requiredposition: 1
width System.Double requiredposition: 2
text System.String requiredposition: 3
fontSize System.Double requiredposition: 4
alignment ChartForgeX.Typography.TextAlignment = Left optionalposition: 5
emphasized System.Boolean = false optionalposition: 6
public VisualCanvas AddText(Double x, Double y, Double width, String text, Double fontSize, ChartColor color, TextAlignment alignment = Left, Boolean emphasized = false) #
Returns: VisualCanvas

Adds a plain text layer with an explicit color.

Parameters

x System.Double requiredposition: 0
y System.Double requiredposition: 1
width System.Double requiredposition: 2
text System.String requiredposition: 3
fontSize System.Double requiredposition: 4
color ChartForgeX.Primitives.ChartColor requiredposition: 5
alignment ChartForgeX.Typography.TextAlignment = Left optionalposition: 6
emphasized System.Boolean = false optionalposition: 7
public VisualCanvas AddText(VisualCanvasPlacement placement, Double width, String text, Double fontSize, TextAlignment alignment = Left, Boolean emphasized = false) #
Returns: VisualCanvas

Adds a plain text layer using anchor-based placement and the canvas primary foreground.

Parameters

placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 0
width System.Double requiredposition: 1
text System.String requiredposition: 2
fontSize System.Double requiredposition: 3
alignment ChartForgeX.Typography.TextAlignment = Left optionalposition: 4
emphasized System.Boolean = false optionalposition: 5
public VisualCanvas AddText(VisualCanvasPlacement placement, Double width, String text, Double fontSize, ChartColor color, TextAlignment alignment = Left, Boolean emphasized = false) #
Returns: VisualCanvas

Adds a plain text layer using anchor-based placement and an explicit color.

Parameters

placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 0
width System.Double requiredposition: 1
text System.String requiredposition: 2
fontSize System.Double requiredposition: 3
color ChartForgeX.Primitives.ChartColor requiredposition: 4
alignment ChartForgeX.Typography.TextAlignment = Left optionalposition: 5
emphasized System.Boolean = false optionalposition: 6
public VisualCanvasLayoutReport AnalyzeLayout() #
Returns: VisualCanvasLayoutReport

Analyzes canvas layer bounds and built-in text fitting decisions without rendering.

public VisualCanvas AsDecorative(Boolean decorative = true) #
Returns: VisualCanvas

Marks the canvas as decorative for capable renderers.

Parameters

decorative System.Boolean = true optionalposition: 0
public VisualCanvas ConfigureAccessibility(Action<VisualAccessibility> configure) #
Returns: VisualCanvas

Configures the canvas text alternative and language metadata.

Parameters

configure System.Action<ChartForgeX.Accessibility.VisualAccessibility> requiredposition: 0
public static VisualCanvas Create(Int32 width, Int32 height) #
Returns: VisualCanvas

Creates a fixed-size visual canvas.

Parameters

width System.Int32 requiredposition: 0
height System.Int32 requiredposition: 1
public static VisualCanvas CreateDesktopWallpaper() #
Returns: VisualCanvas

Creates a 1920 by 1080 desktop wallpaper canvas.

public static VisualCanvas CreateSocialPreview() #
Returns: VisualCanvas

Creates a 1200 by 630 social preview canvas.

public RgbaImage RenderRgba() #
Returns: RgbaImage

Renders the canvas through its native raster owner at the configured output scale.

public String RenderSvg(String idScope) #
Returns: String

Renders the canvas through its static SVG owner using a deterministic embedding scope.

Parameters

idScope System.String requiredposition: 0
public ChartRect ResolvePlacement(VisualCanvasPlacement placement, Double width, Double height) #
Returns: ChartRect

Resolves anchor-based placement against the full canvas.

Parameters

placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 0
width System.Double requiredposition: 1
height System.Double requiredposition: 2
public VisualCanvas WithBackdrop(VisualCanvasBackdropStyle style) #
Returns: VisualCanvas

Sets the built-in backdrop decoration style.

Parameters

style ChartForgeX.Composition.VisualCanvasBackdropStyle requiredposition: 0
WithBackground 2 overloads
public VisualCanvas WithBackground(ChartColor color) #
Returns: VisualCanvas

Sets a solid background color.

Parameters

color ChartForgeX.Primitives.ChartColor requiredposition: 0
public VisualCanvas WithBackground(ChartColor top, ChartColor bottom) #
Returns: VisualCanvas

Sets a vertical background gradient.

Parameters

top ChartForgeX.Primitives.ChartColor requiredposition: 0
bottom ChartForgeX.Primitives.ChartColor requiredposition: 1
public VisualCanvas WithDesignTokens(VisualDesignTokens tokens) #
Returns: VisualCanvas

Applies shared product-neutral design tokens to the canvas and its renderer theme.

Parameters

tokens ChartForgeX.Themes.VisualDesignTokens requiredposition: 0
public VisualCanvas WithFixedLayout() #
Returns: VisualCanvas

Uses output dimensions as the layer coordinate space again.

public VisualCanvas WithOutputSize(Int32 width, Int32 height) #
Returns: VisualCanvas

Sets output dimensions without changing layer coordinates.

Parameters

width System.Int32 requiredposition: 0
height System.Int32 requiredposition: 1
public VisualCanvas WithPngOutputScale(Int32 scale) #
Returns: VisualCanvas

Sets the PNG output pixel multiplier.

Parameters

scale System.Int32 requiredposition: 0
public VisualCanvas WithResponsiveLayout(Int32 designWidth, Int32 designHeight, VisualCanvasImageFit fit = Contain) #
Returns: VisualCanvas

Preserves a design coordinate space while adapting SVG and PNG output to other dimensions.

Parameters

designWidth System.Int32 requiredposition: 0
designHeight System.Int32 requiredposition: 1
fit ChartForgeX.Composition.VisualCanvasImageFit = Contain optionalposition: 2
public VisualCanvas WithTheme(VisualCanvasTheme theme) #
Returns: VisualCanvas

Sets the theme used by built-in visual canvas layers.

Parameters

theme ChartForgeX.Composition.VisualCanvasTheme requiredposition: 0
public VisualCanvas WithTitle(String title) #
Returns: VisualCanvas

Sets the accessibility title used by SVG output.

Parameters

title System.String requiredposition: 0

Properties

public VisualAccessibility Accessibility { get; } #

Gets accessibility metadata shared by capable renderers and hosts.

public Int32 DesignWidth { get; } #

Gets the coordinate-space width used to lay out layers.

public Int32 DesignHeight { get; } #

Gets the coordinate-space height used to lay out layers.

public Boolean IsResponsive { get; } #

Gets whether output dimensions differ from the layer design coordinate space.

public VisualCanvasImageFit ResponsiveFit { get; set; } #

Gets or sets how the design coordinate space fits the requested output size.

public Int32 Width { get; set; } #

Gets or sets the canvas width in pixels.

public Int32 Height { get; set; } #

Gets or sets the canvas height in pixels.

public String Title { get; set; } #

Gets or sets the accessibility title used by SVG output.

public ChartColor BackgroundTop { get; set; } #

Gets or sets the top background color.

public ChartColor BackgroundBottom { get; set; } #

Gets or sets the bottom background color.

public VisualCanvasBackdropStyle BackdropStyle { get; set; } #

Gets or sets the optional backdrop decoration style.

public VisualCanvasTheme Theme { get; set; } #

Gets or sets the theme used by built-in visual canvas layers.

public Int32 PngOutputScale { get; set; } #

Gets or sets the PNG output pixel multiplier.

public IReadOnlyList<VisualCanvasLayer> Layers { get; } #

Gets the ordered visual canvas layers.

Extension Methods

AddChart 2 overloads
public static VisualCanvas AddChart(VisualCanvas canvas, Double x, Double y, Double width, Double height, Chart chart, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds a rendered chart layer to a visual canvas.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
chart ChartForgeX.Core.Chart requiredposition: 5
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 6
opacity System.Double = 1 optionalposition: 7
public static VisualCanvas AddChart(VisualCanvas canvas, VisualCanvasPlacement placement, Double width, Double height, Chart chart, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds a rendered chart layer to a visual canvas using anchor-based placement.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
chart ChartForgeX.Core.Chart requiredposition: 4
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 5
opacity System.Double = 1 optionalposition: 6
AddChartGrid 2 overloads
public static VisualCanvas AddChartGrid(VisualCanvas canvas, Double x, Double y, Double width, Double height, ChartGrid grid, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds a rendered chart grid layer to a visual canvas.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
grid ChartForgeX.Core.ChartGrid requiredposition: 5
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 6
opacity System.Double = 1 optionalposition: 7
public static VisualCanvas AddChartGrid(VisualCanvas canvas, VisualCanvasPlacement placement, Double width, Double height, ChartGrid grid, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds a rendered chart grid layer to a visual canvas using anchor-based placement.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
grid ChartForgeX.Core.ChartGrid requiredposition: 4
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 5
opacity System.Double = 1 optionalposition: 6
AddHeroBadgeImageFile 2 overloads
public static VisualCanvas AddHeroBadgeImageFile(VisualCanvas canvas, Double x, Double y, Double width, Double height, String path, String symbol = "", ChartColor? accent = null, VisualCanvasImageFit fit = Contain, Double padding = 10, Double opacity = 1, RasterDecodeOptions? options = null) #
Returns: VisualCanvas

Decodes an image file and adds it as the content of a hero badge.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
path System.String requiredposition: 5
symbol System.String = "" optionalposition: 6
accent ChartForgeX.Primitives.ChartColor? = null optionalposition: 7
fit ChartForgeX.Composition.VisualCanvasImageFit = Contain optionalposition: 8
padding System.Double = 10 optionalposition: 9
opacity System.Double = 1 optionalposition: 10
options ChartForgeX.Raster.RasterDecodeOptions? = null optionalposition: 11
public static VisualCanvas AddHeroBadgeImageFile(VisualCanvas canvas, VisualCanvasPlacement placement, Double width, Double height, String path, String symbol = "", ChartColor? accent = null, VisualCanvasImageFit fit = Contain, Double padding = 10, Double opacity = 1, RasterDecodeOptions? options = null) #
Returns: VisualCanvas

Decodes an image file and adds it as the content of a hero badge using anchor-based placement.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
path System.String requiredposition: 4
symbol System.String = "" optionalposition: 5
accent ChartForgeX.Primitives.ChartColor? = null optionalposition: 6
fit ChartForgeX.Composition.VisualCanvasImageFit = Contain optionalposition: 7
padding System.Double = 10 optionalposition: 8
opacity System.Double = 1 optionalposition: 9
options ChartForgeX.Raster.RasterDecodeOptions? = null optionalposition: 10
AddImageBytes 2 overloads
public static VisualCanvas AddImageBytes(VisualCanvas canvas, Double x, Double y, Double width, Double height, Byte[] data, VisualCanvasImageFit fit = Stretch, Double opacity = 1, RasterDecodeOptions? options = null) #
Returns: VisualCanvas

Decodes image bytes and adds them as an image layer to a visual canvas.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
data System.Byte[] requiredposition: 5
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 6
opacity System.Double = 1 optionalposition: 7
options ChartForgeX.Raster.RasterDecodeOptions? = null optionalposition: 8
public static VisualCanvas AddImageBytes(VisualCanvas canvas, VisualCanvasPlacement placement, Double width, Double height, Byte[] data, VisualCanvasImageFit fit = Stretch, Double opacity = 1, RasterDecodeOptions? options = null) #
Returns: VisualCanvas

Decodes image bytes and adds them as an image layer using anchor-based placement.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
data System.Byte[] requiredposition: 4
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 5
opacity System.Double = 1 optionalposition: 6
options ChartForgeX.Raster.RasterDecodeOptions? = null optionalposition: 7
AddImageFile 2 overloads
public static VisualCanvas AddImageFile(VisualCanvas canvas, Double x, Double y, Double width, Double height, String path, VisualCanvasImageFit fit = Stretch, Double opacity = 1, RasterDecodeOptions? options = null) #
Returns: VisualCanvas

Decodes an image file and adds it as an image layer to a visual canvas.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
path System.String requiredposition: 5
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 6
opacity System.Double = 1 optionalposition: 7
options ChartForgeX.Raster.RasterDecodeOptions? = null optionalposition: 8
public static VisualCanvas AddImageFile(VisualCanvas canvas, VisualCanvasPlacement placement, Double width, Double height, String path, VisualCanvasImageFit fit = Stretch, Double opacity = 1, RasterDecodeOptions? options = null) #
Returns: VisualCanvas

Decodes an image file and adds it as an image layer using anchor-based placement.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
path System.String requiredposition: 4
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 5
opacity System.Double = 1 optionalposition: 6
options ChartForgeX.Raster.RasterDecodeOptions? = null optionalposition: 7
AddRasterImage 2 overloads
public static VisualCanvas AddRasterImage(VisualCanvas canvas, Double x, Double y, Double width, Double height, RgbaImage image, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds an independent snapshot of decoded RGBA pixels as an image layer to a visual canvas.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
image ChartForgeX.Raster.RgbaImage requiredposition: 5
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 6
opacity System.Double = 1 optionalposition: 7
public static VisualCanvas AddRasterImage(VisualCanvas canvas, VisualCanvasPlacement placement, Double width, Double height, RgbaImage image, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds decoded RGBA pixels as an image layer using anchor-based placement.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
image ChartForgeX.Raster.RgbaImage requiredposition: 4
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 5
opacity System.Double = 1 optionalposition: 6
AddTopology 2 overloads
public static VisualCanvas AddTopology(VisualCanvas canvas, Double x, Double y, Double width, Double height, TopologyChart topology, TopologyRenderOptions? options = null, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds a rendered topology chart layer to a visual canvas.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
topology ChartForgeX.Topology.TopologyChart requiredposition: 5
options ChartForgeX.Topology.TopologyRenderOptions? = null optionalposition: 6
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 7
opacity System.Double = 1 optionalposition: 8
public static VisualCanvas AddTopology(VisualCanvas canvas, VisualCanvasPlacement placement, Double width, Double height, TopologyChart topology, TopologyRenderOptions? options = null, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds a rendered topology chart layer to a visual canvas using anchor-based placement.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
topology ChartForgeX.Topology.TopologyChart requiredposition: 4
options ChartForgeX.Topology.TopologyRenderOptions? = null optionalposition: 5
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 6
opacity System.Double = 1 optionalposition: 7
AddVisualBlock 2 overloads
public static VisualCanvas AddVisualBlock(VisualCanvas canvas, Double x, Double y, Double width, Double height, IVisualBlock block, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds a rendered visual block layer to a visual canvas.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
block ChartForgeX.VisualBlocks.IVisualBlock requiredposition: 5
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 6
opacity System.Double = 1 optionalposition: 7
public static VisualCanvas AddVisualBlock(VisualCanvas canvas, VisualCanvasPlacement placement, Double width, Double height, IVisualBlock block, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds a rendered visual block layer to a visual canvas using anchor-based placement.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
block ChartForgeX.VisualBlocks.IVisualBlock requiredposition: 4
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 5
opacity System.Double = 1 optionalposition: 6
AddVisualGrid 2 overloads
public static VisualCanvas AddVisualGrid(VisualCanvas canvas, Double x, Double y, Double width, Double height, VisualGrid grid, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds a rendered visual grid layer to a visual canvas.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 5
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 6
opacity System.Double = 1 optionalposition: 7
public static VisualCanvas AddVisualGrid(VisualCanvas canvas, VisualCanvasPlacement placement, Double width, Double height, VisualGrid grid, VisualCanvasImageFit fit = Stretch, Double opacity = 1) #
Returns: VisualCanvas

Adds a rendered visual grid layer to a visual canvas using anchor-based placement.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
placement ChartForgeX.Composition.VisualCanvasPlacement requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 4
fit ChartForgeX.Composition.VisualCanvasImageFit = Stretch optionalposition: 5
opacity System.Double = 1 optionalposition: 6
public static Void Save(VisualCanvas canvas, String path, RasterImageOptions? rasterOptions = null) #
Returns: Void

Saves a visual canvas using the output path extension to choose SVG, HTML, PNG, or another raster image format.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
path System.String requiredposition: 1
The output file path.
rasterOptions ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
Optional raster export options.
public static Void SaveBmp(VisualCanvas canvas, String path, RasterImageOptions? options = null) #
Returns: Void

Saves a visual canvas as a BMP file.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
path System.String requiredposition: 1
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
public static Void SaveHtml(VisualCanvas canvas, String path) #
Returns: Void

Saves a visual canvas as a complete HTML file.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
path System.String requiredposition: 1
The output file path.
public static Void SavePng(VisualCanvas canvas, String path) #
Returns: Void

Saves a visual canvas as a PNG file.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
path System.String requiredposition: 1
The output file path.
public static Void SavePpm(VisualCanvas canvas, String path, RasterImageOptions? options = null) #
Returns: Void

Saves a visual canvas as a PPM file.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
path System.String requiredposition: 1
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
SaveRasterImage 2 overloads
public static Void SaveRasterImage(VisualCanvas canvas, String path, RasterImageFormat format, RasterImageOptions? options = null) #
Returns: Void

Saves a visual canvas as an opaque raster image file.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
path System.String requiredposition: 1
The output file path.
format ChartForgeX.Core.RasterImageFormat requiredposition: 2
The raster image format.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 3
Optional raster export options.
public static Void SaveRasterImage(VisualCanvas canvas, String path, RasterImageOptions? options = null) #
Returns: Void

Saves a visual canvas as an opaque raster image file using the output path extension to choose the format.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
path System.String requiredposition: 1
The output file path.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
Optional raster export options.
public static Void SaveSvg(VisualCanvas canvas, String path) #
Returns: Void

Saves a visual canvas as an SVG file.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
path System.String requiredposition: 1
The output file path.
public static Void SaveTiff(VisualCanvas canvas, String path, RasterImageOptions? options = null) #
Returns: Void

Saves a visual canvas as a TIFF file.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
path System.String requiredposition: 1
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
public static Byte[] ToBmp(VisualCanvas canvas, RasterImageOptions? options = null) #
Returns: Byte[]

Renders a visual canvas to BMP bytes.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 1
Optional raster export options.

Returns

A BMP image.

public static String ToHtmlPage(VisualCanvas canvas) #
Returns: String

Renders a visual canvas to a complete HTML document.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.

Returns

An HTML page.

public static Byte[] ToPng(VisualCanvas canvas) #
Returns: Byte[]

Renders a visual canvas to PNG bytes.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.

Returns

A PNG image.

public static Byte[] ToPpm(VisualCanvas canvas, RasterImageOptions? options = null) #
Returns: Byte[]

Renders a visual canvas to PPM bytes.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 1
Optional raster export options.

Returns

A PPM image.

public static Byte[] ToRasterImage(VisualCanvas canvas, RasterImageFormat format, RasterImageOptions? options = null) #
Returns: Byte[]

Renders a visual canvas to opaque raster image bytes.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
format ChartForgeX.Core.RasterImageFormat requiredposition: 1
The raster image format.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
Optional raster export options.

Returns

Encoded raster image bytes.

public static RgbaImage ToRgbaImage(VisualCanvas canvas) #
Returns: RgbaImage

Renders a visual canvas directly to an in-memory RGBA image without encoding it.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.

Returns

The rendered RGBA image.

ToSvg 2 overloads
public static String ToSvg(VisualCanvas canvas) #
Returns: String

Renders a visual canvas to SVG markup.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.

Returns

SVG markup.

public static String ToSvg(VisualCanvas canvas, String idScope) #
Returns: String

Renders a visual canvas to SVG markup with an additional deterministic ID scope.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
idScope System.String requiredposition: 1
A caller-provided scope used to keep SVG element IDs unique when embedding multiple SVGs in one document.

Returns

SVG markup.

public static Byte[] ToTiff(VisualCanvas canvas, RasterImageOptions? options = null) #
Returns: Byte[]

Renders a visual canvas to TIFF bytes.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 1
Optional raster export options.

Returns

A TIFF image.

public static VisualArtifact ToVisualArtifact(VisualCanvas canvas, String? id = null, VisualArtifactSourceLanguage sourceLanguage = Native) #
Returns: VisualArtifact

Wraps a canvas and its static producer without changing its authored layers.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
id System.String? = null optionalposition: 1
sourceLanguage ChartForgeX.VisualArtifacts.VisualArtifactSourceLanguage = Native optionalposition: 2
public static Void WriteBmp(VisualCanvas canvas, Stream stream, RasterImageOptions? options = null) #
Returns: Void

Writes a visual canvas to a BMP stream.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
stream System.IO.Stream requiredposition: 1
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
public static Void WritePpm(VisualCanvas canvas, Stream stream, RasterImageOptions? options = null) #
Returns: Void

Writes a visual canvas to a PPM stream.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
stream System.IO.Stream requiredposition: 1
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
public static Void WriteRasterImage(VisualCanvas canvas, Stream stream, RasterImageFormat format, RasterImageOptions? options = null) #
Returns: Void

Writes a visual canvas to an opaque raster image stream.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
The visual canvas to render.
stream System.IO.Stream requiredposition: 1
The destination stream.
format ChartForgeX.Core.RasterImageFormat requiredposition: 2
The raster image format.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 3
Optional raster export options.
public static Void WriteTiff(VisualCanvas canvas, Stream stream, RasterImageOptions? options = null) #
Returns: Void

Writes a visual canvas to a TIFF stream.

Parameters

canvas ChartForgeX.Composition.VisualCanvas requiredposition: 0
stream System.IO.Stream requiredposition: 1
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2