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

VisualGrid

Namespace ChartForgeX.VisualBlocks
Assembly ChartForgeX.Visuals
Modifiers sealed

A neutral composition surface for charts and visual blocks.

Inheritance

  • Object
  • VisualGrid

Usage

Explore 71 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.

Accepted by parameters 53

Constructors

public VisualGrid() #

Methods

Add 4 overloads
public VisualGrid Add(Chart chart, Int32 columnSpan = 1, Int32 rowSpan = 1) #
Returns: VisualGrid

Adds a chart panel.

Parameters

chart ChartForgeX.Core.Chart requiredposition: 0
columnSpan System.Int32 = 1 optionalposition: 1
rowSpan System.Int32 = 1 optionalposition: 2
public VisualGrid Add(String targetId, Chart chart, Int32 columnSpan = 1, Int32 rowSpan = 1) #
Returns: VisualGrid

Adds a chart panel with a stable target id.

Parameters

targetId System.String requiredposition: 0
chart ChartForgeX.Core.Chart requiredposition: 1
columnSpan System.Int32 = 1 optionalposition: 2
rowSpan System.Int32 = 1 optionalposition: 3
public VisualGrid Add(IVisualBlock block, Int32 columnSpan = 1, Int32 rowSpan = 1) #
Returns: VisualGrid

Adds a visual block panel.

Parameters

block ChartForgeX.VisualBlocks.IVisualBlock requiredposition: 0
columnSpan System.Int32 = 1 optionalposition: 1
rowSpan System.Int32 = 1 optionalposition: 2
public VisualGrid Add(String targetId, IVisualBlock block, Int32 columnSpan = 1, Int32 rowSpan = 1) #
Returns: VisualGrid

Adds a visual block panel with a stable target id.

Parameters

targetId System.String requiredposition: 0
block ChartForgeX.VisualBlocks.IVisualBlock requiredposition: 1
columnSpan System.Int32 = 1 optionalposition: 2
rowSpan System.Int32 = 1 optionalposition: 3
public static VisualGrid Create() #
Returns: VisualGrid

Creates a new visual grid.

public static VisualGrid CreateMetricStrip(String title, IEnumerable<MetricCard> cards, Int32 columns = 4, Int32 panelWidth = 320, Int32 panelHeight = 176) #
Returns: VisualGrid

Creates a metric-card strip using the standard compact section layout.

Parameters

title System.String requiredposition: 0
cards System.Collections.Generic.IEnumerable<ChartForgeX.VisualBlocks.MetricCard> requiredposition: 1
columns System.Int32 = 4 optionalposition: 2
panelWidth System.Int32 = 320 optionalposition: 3
panelHeight System.Int32 = 176 optionalposition: 4
public RgbaImage RenderRgba() #
Returns: RgbaImage

Renders the configured static grid pixels.

public String RenderSvg(String idScope) #
Returns: String

Renders static grid SVG with an embedding identity scope.

Parameters

idScope System.String requiredposition: 0
public VisualGrid WithAdaptiveRowHeights(Boolean enabled = true) #
Returns: VisualGrid

Sets whether rows without a fixed panel size use their natural item heights.

Parameters

enabled System.Boolean = true optionalposition: 0
public VisualGrid WithColumns(Int32 columns) #
Returns: VisualGrid

Sets the preferred column count.

Parameters

columns System.Int32 requiredposition: 0
public VisualGrid WithFrame(Boolean visible = true) #
Returns: VisualGrid

Sets whether the grid renders a subtle outer frame.

Parameters

visible System.Boolean = true optionalposition: 0
public VisualGrid WithGap(Int32 gap) #
Returns: VisualGrid

Sets the gap between panels.

Parameters

gap System.Int32 requiredposition: 0
public VisualGrid WithPadding(Int32 padding) #
Returns: VisualGrid

Sets the outer padding.

Parameters

padding System.Int32 requiredposition: 0
public VisualGrid WithPanelFit(VisualPanelFit fit) #
Returns: VisualGrid

Sets how children fit fixed panels.

Parameters

fit ChartForgeX.Primitives.VisualPanelFit requiredposition: 0
public VisualGrid WithPanelSize(Int32 width, Int32 height) #
Returns: VisualGrid

Sets a fixed panel size.

Parameters

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

Sets the PNG output pixel multiplier.

Parameters

scale System.Int32 requiredposition: 0
public VisualGrid WithSubtitle(String subtitle) #
Returns: VisualGrid

Sets the grid subtitle.

Parameters

subtitle System.String requiredposition: 0
public VisualGrid WithTheme(ChartTheme theme) #
Returns: VisualGrid

Sets the grid theme.

Parameters

theme ChartForgeX.Themes.ChartTheme requiredposition: 0
public VisualGrid WithTitle(String title) #
Returns: VisualGrid

Sets the grid title.

Parameters

title System.String requiredposition: 0

Properties

public String Title { get; set; } #

Gets or sets the grid title.

public String Subtitle { get; set; } #

Gets or sets the grid subtitle.

public Int32 Columns { get; set; } #

Gets or sets the preferred column count.

public Int32 Gap { get; set; } #

Gets or sets the gap between panels in pixels.

public Int32 Padding { get; set; } #

Gets or sets the outer padding in pixels.

public Int32 PngOutputScale { get; set; } #

Gets or sets the PNG output pixel multiplier.

public Boolean FrameVisible { get; set; } #

Gets or sets a value indicating whether the grid should render a subtle outer frame.

public ChartSize? PanelSize { get; set; } #

Gets or sets the optional fixed panel size.

public VisualPanelFit PanelFit { get; set; } #

Gets or sets how children fit fixed panels.

public Boolean AdaptiveRowHeights { get; set; } #

Gets or sets whether rows without a fixed panel size use their natural item heights.

public ChartTheme? Theme { get; set; } #

Gets or sets the optional grid theme.

public IReadOnlyList<VisualGridItem> Items { get; } #

Gets grid items.

Extension Methods

public static VisualGrid ConfigureTheme(VisualGrid grid, Action<ChartTheme> configure) #
Returns: VisualGrid

Configures the current visual grid theme in place, creating a light theme when the grid is currently automatic.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to configure.
configure System.Action<ChartForgeX.Themes.ChartTheme> requiredposition: 1
The theme customization callback.

Returns

The current visual grid.

public static Void Save(VisualGrid grid, String path, RasterImageOptions? rasterOptions = null) #
Returns: Void

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

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid 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(VisualGrid grid, String path, RasterImageOptions? options = null) #
Returns: Void

Saves a visual grid as a BMP file.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid 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 SaveHtml(VisualGrid grid, String path) #
Returns: Void

Saves a visual grid as a complete HTML file.

Parameters

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

Saves a visual grid as a PNG file.

Parameters

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

Saves a visual grid as a PPM file.

Parameters

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

Saves a visual grid as an opaque raster image file.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid 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(VisualGrid grid, String path, RasterImageOptions? options = null) #
Returns: Void

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

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid 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(VisualGrid grid, String path) #
Returns: Void

Saves a visual grid as an SVG file.

Parameters

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

Saves a visual grid as a TIFF file.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.
path System.String requiredposition: 1
The output file path.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
Optional raster export options.
public static Byte[] ToBmp(VisualGrid grid, RasterImageOptions? options = null) #
Returns: Byte[]

Renders a visual grid to BMP bytes.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 1
Optional raster export options.

Returns

A BMP image.

ToHtmlFragment 2 overloads
public static String ToHtmlFragment(VisualGrid grid) #
Returns: String

Renders a visual grid to a standalone HTML fragment containing inline SVG charts and visual blocks.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.

Returns

An HTML fragment.

public static String ToHtmlFragment(VisualGrid grid, String idScope) #
Returns: String

Renders a visual grid to an HTML fragment with an additional deterministic ID scope.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.
idScope System.String requiredposition: 1
A caller-provided scope used to keep IDs unique when embedding equivalent fragments together.

Returns

An HTML fragment.

public static String ToHtmlPage(VisualGrid grid) #
Returns: String

Renders a visual grid to a complete HTML document.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.

Returns

An HTML page.

public static Byte[] ToPng(VisualGrid grid) #
Returns: Byte[]

Renders a visual grid to PNG bytes.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.

Returns

A PNG image.

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

Renders a visual grid to PPM bytes.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 1
Optional raster export options.

Returns

A PPM image.

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

Renders a visual grid to opaque raster image bytes.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid 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(VisualGrid grid) #
Returns: RgbaImage

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

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.

Returns

The rendered RGBA image.

ToSvg 2 overloads
public static String ToSvg(VisualGrid grid) #
Returns: String

Renders a visual grid to SVG markup.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.

Returns

SVG markup.

public static String ToSvg(VisualGrid grid, String idScope) #
Returns: String

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

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.
idScope System.String requiredposition: 1
A caller-provided scope used to keep SVG element IDs unique when embedding multiple SVG grids in one document.

Returns

SVG markup.

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

Renders a visual grid to TIFF bytes.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 1
Optional raster export options.

Returns

A TIFF image.

public static VisualGrid WithPngOutputScale(VisualGrid grid, ChartPngOutputScale scale) #
Returns: VisualGrid

Sets the output pixel multiplier used by visual grid PNG exports using a named density preset.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to configure.
scale ChartForgeX.Core.ChartPngOutputScale requiredposition: 1
The output density preset.

Returns

The current visual grid.

public static Void WriteBmp(VisualGrid grid, Stream stream, RasterImageOptions? options = null) #
Returns: Void

Writes a visual grid to a BMP stream.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.
stream System.IO.Stream requiredposition: 1
The destination stream.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
Optional raster export options.
public static Void WritePpm(VisualGrid grid, Stream stream, RasterImageOptions? options = null) #
Returns: Void

Writes a visual grid to a PPM stream.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.
stream System.IO.Stream requiredposition: 1
The destination stream.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
Optional raster export options.
public static Void WriteRasterImage(VisualGrid grid, Stream stream, RasterImageFormat format, RasterImageOptions? options = null) #
Returns: Void

Writes a visual grid to an opaque raster image stream.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid 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(VisualGrid grid, Stream stream, RasterImageOptions? options = null) #
Returns: Void

Writes a visual grid to a TIFF stream.

Parameters

grid ChartForgeX.VisualBlocks.VisualGrid requiredposition: 0
The visual grid to render.
stream System.IO.Stream requiredposition: 1
The destination stream.
options ChartForgeX.Core.RasterImageOptions? = null optionalposition: 2
Optional raster export options.