SystemEX  Lacking
Additional generic collection types missing in .net
Color

Represents a mathematical 2D canvas storing color values of type T . This interface defines a deterministic data structure that models a rectangular grid of values. The canvas does not perform graphical drawing; instead, it provides structured access, mutation, and region‑based operations on its underlying data. More...

Classes

interface  SystemEx.Drawing.ICanvas< T >
class  SystemEx.Drawing.ColorCMY
class  SystemEx.Drawing.ColorConverter
class  SystemEx.Drawing.ColorGray
class  SystemEx.Drawing.ColorHDR
class  SystemEx.Drawing.ColorHSL
class  SystemEx.Drawing.ColorHSV
class  SystemEx.Drawing.ColorHWB
class  SystemEx.Drawing.ColorNCol
class  SystemEx.Drawing.ColorR10G10B10FormatSchema
class  SystemEx.Drawing.ColorR10G10B10Serializer
 The ColorR10G10B10FormatSchema class defines the schema for serializing and deserializing a ColorR10G10B10A2 color to and from a binary representation. It specifies the total size, header size, endianness, and field offsets for the color data. More...
class  SystemEx.Drawing.ColorR10G10B10A2
 Represents a 10‑bit per channel RGB color (R10G10B10A2), stored internally as normalized floating‑point values (0–1). More...
class  SystemEx.Drawing.ColorR16G16B16
class  SystemEx.Drawing.ColorR8G8B8
 Represents an RGB color using normalized float channels (0–1). Provides basic color manipulation, brightness evaluation, contrast classification and interpolation utilities. More...
class  SystemEx.Drawing.BlueColors
class  SystemEx.Drawing.BrownColors
 Brown Colors Group.
class  SystemEx.Drawing.PinkColors
 Pink Color Group.
class  SystemEx.Drawing.PurpelColors
 Purpel Color Group. More...
class  SystemEx.Drawing.RedColors
 Red Colors Group.
class  SystemEx.Drawing.OrangeColors
 Orange Colors Group.
class  SystemEx.Drawing.YellowColors
 Yellow Colors Group.
class  SystemEx.Drawing.GreenColors
 Green Colors Group.
class  SystemEx.Drawing.CyanColors
 Cyan Colors Group.
class  SystemEx.Drawing.WhiteColors
 White ColorsGroup.
class  SystemEx.Drawing.GreyColors
 Grey ColorsGroup.
class  SystemEx.Drawing.ColorXYZ
class  SystemEx.Drawing.ColorYUV
interface  SystemEx.Drawing.ISubCanvas< T >
 Represents a mathematical sub‑canvas that participates as a layer within a layered canvas system. A sub‑canvas does not perform graphical drawing; instead, it defines deterministic transformation rules, visibility states, and optional masking that influence the final composed pixel buffer when requested through ICanvasList<T>.GetPixels or ICanvasList<T>.SwapIn. More...
interface  SystemEx.Drawing.ICanvasList< T >
 Represents a layered mathematical canvas system composed of multiple sub‑canvases. Each layer is a deterministic transformation applied on top of the base canvas, forming a purely mathematical composition model rather than a graphical drawing system. More...
interface  SystemEx.Drawing.IColor< T >

Enumerations

enum  SystemEx.Drawing.ContrastLevel { SystemEx.Drawing.ContrastLevel.VeryLow , SystemEx.Drawing.ContrastLevel.Low , SystemEx.Drawing.ContrastLevel.High , SystemEx.Drawing.ContrastLevel.Perfect }
enum  SystemEx.Drawing.BlendMode {
  SystemEx.Drawing.BlendMode.Add , SystemEx.Drawing.BlendMode.Subtract , SystemEx.Drawing.BlendMode.Multiply , SystemEx.Drawing.BlendMode.Screen ,
  SystemEx.Drawing.BlendMode.Overlay , SystemEx.Drawing.BlendMode.Replace , SystemEx.Drawing.BlendMode.Divide , SystemEx.Drawing.BlendMode.Light ,
  SystemEx.Drawing.BlendMode.Dark
}

Functions

SystemEx.Drawing.ICanvas< T >.GetPixel (int x, int y)
 Returns the color value at the specified coordinates. This method provides direct access to the underlying mathematical buffer without performing any rendering.
bool SystemEx.Drawing.ICanvas< T >.Resize (int size)
 Resizes the canvas to the specified total size (Width × Height). Existing values may be truncated or expanded depending on the implementation. This operation modifies only the mathematical buffer.
ICanvas< T > SystemEx.Drawing.ICanvas< T >.CopyRegion (int x, int y, int width, int height)
 Creates a new canvas containing a rectangular region of this canvas. The region is copied mathematically; no rendering or blending occurs.
ICanvas< T > SystemEx.Drawing.ICanvas< T >.Clone ()
 Creates a full mathematical clone of this canvas, duplicating all stored values.
void SystemEx.Drawing.ICanvas< T >.Fill (T objcolor)
 Fills the entire canvas with the specified color value. This operation replaces all stored data deterministically and does not perform any graphical drawing.
void SystemEx.Drawing.ICanvas< T >.FillRect (int x1, int y1, int x2, int y2)
 Fills a rectangular region of the canvas with the specified color value. This modifies only the mathematical buffer and does not perform rendering.
void SystemEx.Drawing.ICanvas< T >.Clear ()
 Clears the canvas by resetting all stored values to their default state. This operation affects only the mathematical buffer.
Pair< int, int > SystemEx.Drawing.ICanvas< T >.Find (T color)
 Searches the canvas for the first occurrence of the specified color value. Returns the coordinates of the match or (-1, -1) if no match is found.
int SystemEx.Drawing.ICanvas< T >.FindLast (T color)
 Searches the canvas for the last occurrence of the specified color value. Returns the index in the underlying buffer or -1 if no match is found.
 SystemEx.Drawing.ColorXYZ.ColorXYZ (float x, float y, float z)
 Initializes a new XYZ color with the specified component values.
bool SystemEx.Drawing.ColorXYZ.Equals (ColorXYZ? other)
 Determines whether this instance is equal to another XYZ color.
override bool SystemEx.Drawing.ColorXYZ.Equals (object? obj)
 Determines whether this instance is equal to another object.
override int SystemEx.Drawing.ColorXYZ.GetHashCode ()
 Returns a hash code based on the X, Y, and Z components.
override string SystemEx.Drawing.ColorXYZ.ToString ()
 Returns a string representation of the XYZ color.
 SystemEx.Drawing.ColorYUV.ColorYUV (float[] x)
 Initializes a new YUV color from an array of three floating‑point values.
 SystemEx.Drawing.ColorYUV.ColorYUV (float y, float u, float v)
 Initializes a new YUV color with the specified component values.
bool SystemEx.Drawing.ColorYUV.Equals (ColorYUV other)
 Determines whether this instance is equal to another YUV color.
override int SystemEx.Drawing.ColorYUV.GetHashCode ()
 Returns a hash code based on the Y, U, and V components.
override bool SystemEx.Drawing.ColorYUV.Equals (object? obj)
 Determines whether this instance is equal to another object.
override string SystemEx.Drawing.ColorYUV.ToString ()
 Returns a string representation of the YUV color.
int SystemEx.Drawing.ICanvasList< T >.AddLayer (ISubCanvas< T > layer, BlendMode mode)
 Adds a new layer to the canvas list. The layer becomes part of the mathematical composition pipeline and will influence the final pixel buffer depending on its blend mode.
ISubCanvas< T > SystemEx.Drawing.ICanvasList< T >.RemoveLayer (int index)
 Removes the layer at the specified index.
ISubCanvas< T > SystemEx.Drawing.ICanvasList< T >.GetLayer (int index)
 Retrieves the sub‑canvas at the specified index.
bool SystemEx.Drawing.ICanvasList< T >.SetShowing (bool show, int index)
 Sets the visibility state of the specified layer. A hidden layer does not participate in the mathematical composition when GetPixels is invoked.
bool SystemEx.Drawing.ICanvasList< T >.IsShowing (int index=0)
 Gets the visibility state of the specified layer. Hidden layers do not contribute to the mathematical composition.
SystemEx.Drawing.ICanvasList< T >.GetPixel (int layer, int x, int y)
 Retrieves the mathematically composed pixel value at the specified coordinates for the given layer index.
Array< T > SystemEx.Drawing.ICanvasList< T >.GetPixels (int layer)
 Returns the mathematically composed pixel buffer for the specified layer index. This canvas system is purely mathematical and does not perform real drawing; each layer represents a deterministic transformation applied on top of the layers beneath it.
int SystemEx.Drawing.ICanvasList< T >.SwapIn (int x, int y, int width, int height, ref ICanvas< T > toDraw)
 Swaps the mathematically composed region of this canvas into another canvas. The region defined by x , y , width , and height is computed mathematically and then written into toDraw .
int SystemEx.Drawing.ICanvasList< T >.SwapIn (ref ICanvas< T > toDraw)
 Swaps the entire mathematically composed canvas into another canvas. This transfers the full computed pixel buffer into toDraw .

Properties

int SystemEx.Drawing.ICanvas< T >.Height [get]
 Gets the height of the canvas in mathematical units (rows).
int SystemEx.Drawing.ICanvas< T >.Width [get]
 Gets the width of the canvas in mathematical units (columns).
IEnumerable< T > SystemEx.Drawing.ICanvas< T >.Buffer [get]
 Gets an enumerable view of the underlying buffer. The buffer contains the raw mathematical color values in row‑major order. No rendering or transformation occurs when accessing this property.
static ColorR8G8B8 SystemEx.Drawing.PinkColors.Pink [get]
 Pink.
static ColorR8G8B8 SystemEx.Drawing.PinkColors.LightPink [get]
 LightPink.
static ColorR8G8B8 SystemEx.Drawing.PinkColors.HotPink [get]
 HotPink.
static ColorR8G8B8 SystemEx.Drawing.PinkColors.DeepPink [get]
 DeepPink.
static ColorR8G8B8 SystemEx.Drawing.PinkColors.PaleVioletRed [get]
 PaleVioletRed.
static ColorR8G8B8 SystemEx.Drawing.PinkColors.MediumVioletRed [get]
 MediumVioletRed.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.Lavender [get]
 Lavender #E6E6FA.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.Thistle [get]
 Thistle #D8BFD8.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.Plum [get]
 Plum #DDA0DD.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.Orchid [get]
 Orchid #DA70D6.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.Violet [get]
 Violet #EE82EE.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.Fuchsia [get]
 Fuchsia #FF00FF.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.Magenta [get]
 Magenta #FF00FF.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.MediumOrchid [get]
 MediumOrchid #BA55D3.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.DarkOrchid [get]
 DarkOrchid #9932CC.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.DarkViolet [get]
 DarkViolet #9400D3.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.BlueViolet [get]
 BlueViolet #8A2BE2.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.DarkMagenta [get]
 DarkMagenta #8B008B.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.Purple [get]
 Purple #800080.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.MediumPurple [get]
 MediumPurple #9370DB.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.MediumSlateBlue [get]
 MediumSlateBlue #7B68EE.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.SlateBlue [get]
 SlateBlue #6A5ACD.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.DarkSlateBlue [get]
 DarkSlateBlue #483D8B.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.RebeccaPurple [get]
 RebeccaPurple #663399.
static ColorR8G8B8 SystemEx.Drawing.PurpelColors.Indigo [get]
 Indigo #4B0082.
static ColorR8G8B8 SystemEx.Drawing.RedColors.LightSalmon [get]
 LightSalmon.
static ColorR8G8B8 SystemEx.Drawing.RedColors.Salmon [get]
 Salmon #FA8072.
static ColorR8G8B8 SystemEx.Drawing.RedColors.DarkSalmon [get]
 DarkSalmon #E9967A.
static ColorR8G8B8 SystemEx.Drawing.RedColors.LightCoral [get]
 LightCoral #F08080.
static ColorR8G8B8 SystemEx.Drawing.RedColors.IndianRed [get]
 IndianRed #CD5C5C.
static ColorR8G8B8 SystemEx.Drawing.RedColors.Crimson [get]
 Crimson #DC143C.
static ColorR8G8B8 SystemEx.Drawing.RedColors.Red [get]
 Red #FF0000.
static ColorR8G8B8 SystemEx.Drawing.RedColors.FireBrick [get]
 FireBrick #B22222.
static ColorR8G8B8 SystemEx.Drawing.RedColors.DarkRed [get]
 DarkRed #8B0000.
static ColorR8G8B8 SystemEx.Drawing.OrangeColors.Orange [get]
 Orange #FFA500.
static ColorR8G8B8 SystemEx.Drawing.OrangeColors.DarkOrange [get]
 DarkOrange #FF8C00.
static ColorR8G8B8 SystemEx.Drawing.OrangeColors.Coral [get]
 Coral #FF7F50.
static ColorR8G8B8 SystemEx.Drawing.OrangeColors.Tomato [get]
 Tomato #FF6347.
static ColorR8G8B8 SystemEx.Drawing.OrangeColors.OrangeRed [get]
 OrangeRed #FF4500.
static ColorR8G8B8 SystemEx.Drawing.YellowColors.Gold [get]
 Gold #FFD700.
static ColorR8G8B8 SystemEx.Drawing.YellowColors.Yellow [get]
 Yellow #FFFF00.
static ColorR8G8B8 SystemEx.Drawing.YellowColors.LightYellow [get]
 LightYellow #FFFFE0.
static ColorR8G8B8 SystemEx.Drawing.YellowColors.LemonChiffon [get]
 LemonChiffon #FFFACD.
static ColorR8G8B8 SystemEx.Drawing.YellowColors.LightGoldenRodYellow [get]
 LightGoldenRodYellow #FAFAD2.
static ColorR8G8B8 SystemEx.Drawing.YellowColors.PapayaWhip [get]
 PapayaWhip #FFEFD5.
static ColorR8G8B8 SystemEx.Drawing.YellowColors.Moccasin [get]
 Moccasin #FFE4B5.
static ColorR8G8B8 SystemEx.Drawing.YellowColors.PeachPuff [get]
 PeachPuff #FFDAB9.
static ColorR8G8B8 SystemEx.Drawing.YellowColors.PaleGoldenRod [get]
 PaleGoldenRod #EEE8AA.
static ColorR8G8B8 SystemEx.Drawing.YellowColors.Khaki [get]
 Khaki #F0E68C.
static ColorR8G8B8 SystemEx.Drawing.YellowColors.DarkKhaki [get]
 DarkKhaki #BDB76B.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.GreenYellow [get]
 GreenYellow #ADFF2F.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.Chartreuse [get]
 Chartreuse #7FFF00.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.LawnGreen [get]
 LawnGreen #7CFC00.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.Lime [get]
 Lime #00FF00.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.LimeGreen [get]
 LimeGreen #32CD32.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.PaleGreen [get]
 PaleGreen #98FB98.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.LightGreen [get]
 LightGreen #90EE90.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.MediumSpringGreen [get]
 MediumSpringGreen #00FA9A.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.SpringGreen [get]
 SpringGreen #00FF7F.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.MediumSeaGreen [get]
 MediumSeaGreen #3CB371.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.SeaGreen [get]
 SeaGreen #2E8B57.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.ForestGreen [get]
 ForestGreen #228B22.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.Green [get]
 Green #008000.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.DarkGreen [get]
 DarkGreen #006400.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.YellowGreen [get]
 YellowGreen #9ACD32.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.OliveDrab [get]
 OliveDrab #6B8E23.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.DarkOliveGreen [get]
 DarkOliveGreen #556B2F.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.MediumAquaMarine [get]
 MediumAquaMarine #66CDAA.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.DarkSeaGreen [get]
 DarkSeaGreen #8FBC8F.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.LightSeaGreen [get]
 LightSeaGreen #20B2AA.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.DarkCyan [get]
 DarkCyan #008B8B.
static ColorR8G8B8 SystemEx.Drawing.GreenColors.Teal [get]
 Teal #008080.
static ColorR8G8B8 SystemEx.Drawing.CyanColors.Aqua [get]
 Aqua #00FFFF.
static ColorR8G8B8 SystemEx.Drawing.CyanColors.Cyan [get]
 Cyan #00FFFF.
static ColorR8G8B8 SystemEx.Drawing.CyanColors.LightCyan [get]
 LightCyan #E0FFFF.
static ColorR8G8B8 SystemEx.Drawing.CyanColors.PaleTurquoise [get]
 PaleTurquoise #AFEEEE.
static ColorR8G8B8 SystemEx.Drawing.CyanColors.Aquamarine [get]
 Aquamarine #7FFFD4.
static ColorR8G8B8 SystemEx.Drawing.CyanColors.Turquoise [get]
 Turquoise #40E0D0.
static ColorR8G8B8 SystemEx.Drawing.CyanColors.MediumTurquoise [get]
 MediumTurquoise #48D1CC.
static ColorR8G8B8 SystemEx.Drawing.CyanColors.DarkTurquoise [get]
 DarkTurquoise #00CED1.
static ColorGray SystemEx.Drawing.WhiteColors.White [get]
 White #FFFFFF.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.Snow [get]
 Snow #FFFAFA.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.HoneyDew [get]
 HoneyDew #F0FFF0.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.MintCream [get]
 MintCream #F5FFFA.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.Azure [get]
 Azure #F0FFFF.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.AliceBlue [get]
 AliceBlue #F0F8FF.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.GhostWhite [get]
 GhostWhite #F8F8FF.
static ColorGray SystemEx.Drawing.WhiteColors.WhiteSmoke [get]
 WhiteSmoke #F5F5F5.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.SeaShell [get]
 SeaShell #FFF5EE.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.Beige [get]
 Beige #F5F5DC.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.OldLace [get]
 OldLace #FDF5E6.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.FloralWhite [get]
 FloralWhite #FFFAF0.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.Ivory [get]
 Ivory #FFFFF0.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.AntiqueWhite [get]
 AntiqueWhite #FAEBD7.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.Linen [get]
 Linen #FAF0E6.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.LavenderBlush [get]
 LavenderBlush #FFF0F5.
static ColorR8G8B8 SystemEx.Drawing.WhiteColors.MistyRose [get]
 MistyRose #FFE4E1.
static ColorGray SystemEx.Drawing.GreyColors.Gainsboro [get]
 Gainsboro #DCDCDC.
static ColorGray SystemEx.Drawing.GreyColors.LightGray [get]
 LightGray #D3D3D3.
static ColorGray SystemEx.Drawing.GreyColors.Silver [get]
 Silver #C0C0C0.
static ColorGray SystemEx.Drawing.GreyColors.DarkGray [get]
 DarkGray #A9A9A9.
static ColorGray SystemEx.Drawing.GreyColors.DimGray [get]
 DimGray #696969.
static ColorGray SystemEx.Drawing.GreyColors.Gray [get]
 Gray #808080.
static ColorR8G8B8 SystemEx.Drawing.GreyColors.LightSlateGray [get]
 LightSlateGray #778899.
static ColorR8G8B8 SystemEx.Drawing.GreyColors.SlateGray [get]
 SlateGray #708090.
static ColorR8G8B8 SystemEx.Drawing.GreyColors.DarkSlateGray [get]
 DarkSlateGray #2F4F4F.
static ColorGray SystemEx.Drawing.GreyColors.Black [get]
 Black #000000.
float SystemEx.Drawing.ColorXYZ.X [get, set]
 Gets or sets the X component of the XYZ color.
float SystemEx.Drawing.ColorXYZ.Y [get, set]
 Gets or sets the Y component of the XYZ color.
float SystemEx.Drawing.ColorXYZ.Z [get, set]
 Gets or sets the Z component of the XYZ color.
float SystemEx.Drawing.ColorYUV.Y [get, set]
 Gets or sets the Y (luma) component.
float SystemEx.Drawing.ColorYUV.U [get, set]
 Gets or sets the U (chrominance blue) component.
float SystemEx.Drawing.ColorYUV.V [get, set]
 Gets or sets the V (chrominance red) component.
bool SystemEx.Drawing.ISubCanvas< T >.Enable [get, set]
 Gets or sets whether this sub‑canvas is enabled. Disabled sub‑canvases do not participate in mathematical composition and behave as if they were absent from the layer stack.
bool SystemEx.Drawing.ISubCanvas< T >.Showing [get, set]
 Gets or sets whether this sub‑canvas is visible. A hidden sub‑canvas remains present in the layer structure but does not contribute to the composed pixel buffer.
bool SystemEx.Drawing.ISubCanvas< T >.IsDirty [get, set]
 Gets or sets whether the sub‑canvas is marked as dirty. A dirty state indicates that its mathematical content has changed and that dependent compositions may need to be recalculated.
string SystemEx.Drawing.ISubCanvas< T >.Name [get, set]
 Gets or sets the name of the sub‑canvas. This is a user‑defined identifier useful for organizing, labeling, or referencing layers within a canvas list.
byte SystemEx.Drawing.ISubCanvas< T >.Visible [get, set]
 Gets or sets the visibility weight of the sub‑canvas. This value represents a mathematical transparency factor used during layer blending. Higher values increase the influence of the sub‑canvas on the final composition.
bool SystemEx.Drawing.ISubCanvas< T >.HasMask [get, set]
 Gets or sets a value indicating whether the sub‑canvas uses a mask. When enabled, the mask determines which regions of the sub‑canvas contribute to the mathematical composition.
ICanvas< ColorGraySystemEx.Drawing.ISubCanvas< T >.Mask [get, set]
 Gets or sets the grayscale mask applied to this sub‑canvas. The mask defines per‑pixel visibility weights, allowing selective inclusion or exclusion of regions during composition. A mask does not draw pixels; it modifies how the sub‑canvas mathematically interacts with underlying layers.
IReadOnlyMap< ISubCanvas< T >, BlendModeSystemEx.Drawing.ICanvasList< T >.Layers [get]
 Gets the collection of layers associated with this canvas list. Each layer is represented as an ISubCanvas<T> paired with a BlendMode describing how the layer mathematically interacts with the layers beneath it.
ISubCanvas< T > SystemEx.Drawing.ICanvasList< T >.this[int index] [get]
 Gets the sub‑canvas at the specified index.

Detailed Description

Represents a mathematical 2D canvas storing color values of type T . This interface defines a deterministic data structure that models a rectangular grid of values. The canvas does not perform graphical drawing; instead, it provides structured access, mutation, and region‑based operations on its underlying data.

Represents a color in a specific color space and provides methods for color manipulation.

Specifies the mathematical blend operation used when combining a layer with the layers beneath it. These modes do not perform graphical drawing; instead, each mode defines a deterministic color transformation applied during layer composition when ICanvasList<T>.GetPixels or ICanvasList<T>.SwapIn is invoked.

Represents a YUV color using floating‑point components. Provides basic construction, comparison, and string formatting.

Represents a color in the CIE XYZ color space using floating‑point components. Provides basic construction, comparison, and string formatting utilities.

Blue Colors Group.

Represents the qualitative contrast level between two colors.

Represents a color with 16‑bit precision per channel (R16G16B16), stored internally as normalized floating‑point values (0–1).

A Scbema is used to serialize and deserialize a ColorR10G10B10A2 color to and from a binary representation.

Represents a compact N‑Color classification based on the HWB color model. The color is expressed using a hue segment index (0–5), a percentage within that segment (0–100), and the whiteness/blackness components.

Represents a color in the HWB (Hue, Whiteness, Blackness).

Represents a color in the HSV (Hue–Saturation–Value) color space using floating‑point components.
Provides hue‑aware interpolation, component manipulation, arithmetic operations, and normalization utilities. <Note> The Main Color in this Libary</Note>.

Represents a color in the HSL (Hue–Saturation–Lightness) color space using floating‑point components.
Provides hue‑aware interpolation, component manipulation, arithmetic operations, and normalization utilities.

Represents a high‑dynamic‑range color in the HSV color space, where the value component can exceed the normalized range (0–1) and extend up to MaxValue. Provides hue‑aware interpolation, brightness manipulation, and arithmetic operations for HDR color processing.

The ColorGray class represents a grayscale color using a single floating-point component. Only V Drom HSV is used to represent the gray value, where 0 represents black and 1 represents white.

Provides conversion utilities between different color spaces such as RGB, Linear RGB, XYZ, HSV, HSL, YUV, CMY and HDR.

A color in the CMY (Cyan–Magenta–Yellow) color space using floating‑point components.

All operations are purely mathematical and affect only the internal buffer. Visual output is never produced directly; color values are only observable through GetPixel, Buffer, or by transferring computed data into another canvas.

Template Parameters
TThe color type stored in the canvas.

Enumeration Type Documentation

◆ BlendMode

Enumerator
Add 

Adds the layer’s color value to the underlying color. Useful for additive accumulation or brightness‑increasing transformations.

Subtract 

Subtracts the layer’s color value from the underlying color. Produces darker results and is often used for inverse or removal‑style effects.

Multiply 

Multiplies the layer’s color value with the underlying color. This darkens the result and is commonly used for intensity modulation.

Screen 

Applies the mathematical inverse of Multiply. Brightens the result by combining colors through reciprocal multiplication rules.

Overlay 

Applies a conditional combination of Multiply and Screen depending on the underlying brightness. Produces contrast‑enhancing transformations.

Replace 

Replaces the underlying color entirely with the layer’s color. This mode ignores all lower layers and acts as a direct override.

Divide 

Divides the underlying color by the layer’s color. Produces brightening or contrast‑shifting effects depending on the color domain.

Light 

Selects the lighter value between the layer and the underlying color. Useful for highlight‑style transformations.

Dark 

Selects the darker value between the layer and the underlying color. Useful for shadow‑style or depth‑enhancing transformations.

32 {
37 Add,
38
44
50
55 Screen,
56
61 Overlay,
62
67 Replace,
68
73 Divide,
74
79 Light,
80
85 Dark
86 }
@ Divide
Divides the underlying color by the layer’s color. Produces brightening or contrast‑shifting effects ...
Definition ICanvasList.cs:73
@ Replace
Replaces the underlying color entirely with the layer’s color. This mode ignores all lower layers and...
Definition ICanvasList.cs:67
@ Subtract
Subtracts the layer’s color value from the underlying color. Produces darker results and is often use...
Definition ICanvasList.cs:43
@ Screen
Applies the mathematical inverse of Multiply. Brightens the result by combining colors through recipr...
Definition ICanvasList.cs:55
@ Overlay
Applies a conditional combination of Multiply and Screen depending on the underlying brightness....
Definition ICanvasList.cs:61
@ Light
Selects the lighter value between the layer and the underlying color. Useful for highlight‑style tran...
Definition ICanvasList.cs:79
@ Dark
Selects the darker value between the layer and the underlying color. Useful for shadow‑style or depth...
Definition ICanvasList.cs:85
@ Multiply
Multiplies the layer’s color value with the underlying color. This darkens the result and is commonly...
Definition ICanvasList.cs:49
@ Add
Adds the layer’s color value to the underlying color. Useful for additive accumulation or brightness‑...
Definition ICanvasList.cs:37

◆ ContrastLevel

Enumerator
VeryLow 

Colors are nearly identical with minimal visible difference.

Low 

Colors differ slightly with low visual separation.

High 

Colors are clearly distinguishable.

Perfect 

Maximum visual contrast between the colors.

24 {
26 VeryLow,
27
29 Low,
30
32 High,
33
36 }
@ Low
Colors differ slightly with low visual separation.
Definition ColorR8G8B8.cs:29
@ Perfect
Maximum visual contrast between the colors.
Definition ColorR8G8B8.cs:35
@ High
Colors are clearly distinguishable.
Definition ColorR8G8B8.cs:32
@ VeryLow
Colors are nearly identical with minimal visible difference.
Definition ColorR8G8B8.cs:26

Function Documentation

◆ AddLayer()

int SystemEx.Drawing.ICanvasList< T >.AddLayer ( ISubCanvas< T > layer,
BlendMode mode )

Adds a new layer to the canvas list. The layer becomes part of the mathematical composition pipeline and will influence the final pixel buffer depending on its blend mode.

Parameters
layerThe sub‑canvas to add as a layer.
modeThe blend mode describing how the layer interacts with lower layers.
Returns
The index at which the layer was added.

◆ Clear()

void SystemEx.Drawing.ICanvas< T >.Clear ( )

Clears the canvas by resetting all stored values to their default state. This operation affects only the mathematical buffer.

◆ Clone()

ICanvas< T > SystemEx.Drawing.ICanvas< T >.Clone ( )

Creates a full mathematical clone of this canvas, duplicating all stored values.

Returns
A new canvas with identical content.

◆ ColorXYZ()

SystemEx.Drawing.ColorXYZ.ColorXYZ ( float x,
float y,
float z )

Initializes a new XYZ color with the specified component values.

Parameters
xThe X component.
yThe Y component.
zThe Z component.
51 {
52 this.m_x = x;
53 this.m_y = y;
54 this.m_z = z;
55 }
Here is the caller graph for this function:

◆ ColorYUV() [1/2]

SystemEx.Drawing.ColorYUV.ColorYUV ( float y,
float u,
float v )

Initializes a new YUV color with the specified component values.

57 {
58 m_y = y;
59 m_u = u;
60 m_v = v;
61 }

◆ ColorYUV() [2/2]

SystemEx.Drawing.ColorYUV.ColorYUV ( float[] x)

Initializes a new YUV color from an array of three floating‑point values.

Parameters
xAn array containing Y, U, and V in that order.
49 {
50 m_y = x[0];
51 m_u = x[1];
52 m_v = x[2];
53 }
Here is the caller graph for this function:

◆ CopyRegion()

ICanvas< T > SystemEx.Drawing.ICanvas< T >.CopyRegion ( int x,
int y,
int width,
int height )

Creates a new canvas containing a rectangular region of this canvas. The region is copied mathematically; no rendering or blending occurs.

Parameters
xThe X coordinate of the region.
yThe Y coordinate of the region.
widthThe width of the region.
heightThe height of the region.
Returns
A new canvas containing the extracted region.

◆ Equals() [1/4]

bool SystemEx.Drawing.ColorXYZ.Equals ( ColorXYZ? other)

Determines whether this instance is equal to another XYZ color.

Parameters
otherThe color to compare with.
Returns
true if the components match; otherwise false.
64 {
65 if ( other == null )
66 return false;
67
68 return m_x.Equals(other.m_x) &&
69 m_y.Equals(other.m_y) &&
70 m_z.Equals(other.m_z);
71 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Equals() [2/4]

override bool SystemEx.Drawing.ColorXYZ.Equals ( object? obj)

Determines whether this instance is equal to another object.

75 {
76 if(obj == null) return false;
77 if(obj is ColorXYZ) return Equals(obj as ColorXYZ);
78 return false;
79 }
Here is the call graph for this function:

◆ Equals() [3/4]

bool SystemEx.Drawing.ColorYUV.Equals ( ColorYUV other)

Determines whether this instance is equal to another YUV color.

Parameters
otherThe color to compare with.
Returns
true if the components match; otherwise false.
69 {
70
71 return m_y.Equals(other.m_y) &&
72 m_u.Equals(other.m_u) &&
73 m_v.Equals(other.m_y);
74 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Equals() [4/4]

override bool SystemEx.Drawing.ColorYUV.Equals ( object? obj)

Determines whether this instance is equal to another object.

84 {
85 if ( obj == null ) return false;
86 if ( obj is ColorYUV ) return Equals(obj as ColorYUV);
87 return false;
88 }
Here is the call graph for this function:

◆ Fill()

void SystemEx.Drawing.ICanvas< T >.Fill ( T objcolor)

Fills the entire canvas with the specified color value. This operation replaces all stored data deterministically and does not perform any graphical drawing.

Parameters
objcolorThe color value to assign to every element.

◆ FillRect()

void SystemEx.Drawing.ICanvas< T >.FillRect ( int x1,
int y1,
int x2,
int y2 )

Fills a rectangular region of the canvas with the specified color value. This modifies only the mathematical buffer and does not perform rendering.

Parameters
x1The starting X coordinate.
y1The starting Y coordinate.
x2The ending X coordinate.
y2The ending Y coordinate.

◆ Find()

Pair< int, int > SystemEx.Drawing.ICanvas< T >.Find ( T color)

Searches the canvas for the first occurrence of the specified color value. Returns the coordinates of the match or (-1, -1) if no match is found.

Parameters
colorThe color value to search for.
Returns
A pair containing the coordinates of the first match.

◆ FindLast()

int SystemEx.Drawing.ICanvas< T >.FindLast ( T color)

Searches the canvas for the last occurrence of the specified color value. Returns the index in the underlying buffer or -1 if no match is found.

Parameters
colorThe color value to search for.
Returns
The buffer index of the last match.

◆ GetHashCode() [1/2]

override int SystemEx.Drawing.ColorXYZ.GetHashCode ( )

Returns a hash code based on the X, Y, and Z components.

83 {
84 return m_x.GetHashCode() ^ m_y.GetHashCode() ^ m_z.GetHashCode();
85 }

◆ GetHashCode() [2/2]

override int SystemEx.Drawing.ColorYUV.GetHashCode ( )

Returns a hash code based on the Y, U, and V components.

78 {
79 return HashCode.Combine(m_y, m_u, m_v);
80 }

◆ GetLayer()

ISubCanvas< T > SystemEx.Drawing.ICanvasList< T >.GetLayer ( int index)

Retrieves the sub‑canvas at the specified index.

Parameters
indexThe index of the layer to retrieve.
Returns
The sub‑canvas at the given index.

◆ GetPixel() [1/2]

T SystemEx.Drawing.ICanvas< T >.GetPixel ( int x,
int y )

Returns the color value at the specified coordinates. This method provides direct access to the underlying mathematical buffer without performing any rendering.

Parameters
xThe X coordinate.
yThe Y coordinate.
Returns
The color value at the given position.

◆ GetPixel() [2/2]

T SystemEx.Drawing.ICanvasList< T >.GetPixel ( int layer,
int x,
int y )

Retrieves the mathematically composed pixel value at the specified coordinates for the given layer index.

The returned pixel is computed by folding the transformations of all layers from the specified layer down to the base canvas.

Parameters
layerThe layer index to compose from.
xThe X coordinate.
yThe Y coordinate.
Returns
The composed pixel value at the given coordinates.

◆ GetPixels()

Array< T > SystemEx.Drawing.ICanvasList< T >.GetPixels ( int layer)

Returns the mathematically composed pixel buffer for the specified layer index. This canvas system is purely mathematical and does not perform real drawing; each layer represents a deterministic transformation applied on top of the layers beneath it.

Layer index semantics:

  • layer = Length — Returns the fully composed pixel buffer of this canvas, including all layers that have been added. This represents the final accumulated state of the entire layered canvas.
  • layer = N — Returns the pixel buffer resulting from combining all layers from N down to 1, in order. The returned buffer reflects the mathematical accumulation of transformations up to the specified layer index, starting from that layer and folding downward into the base canvas.

Example: If the canvas contains 10 layers, calling GetPixels(10) produces the composed buffer of layers 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1. No rendering is performed; the result is computed entirely through deterministic layer composition rules.

Parameters
layerThe layer index to compose from. Length returns the complete final canvas; values greater than zero return the accumulated mathematical result of all layers from the specified index down to the base canvas.
Returns
An Array<T> containing the composed pixel data for the requested layer range.

◆ IsShowing()

bool SystemEx.Drawing.ICanvasList< T >.IsShowing ( int index = 0)

Gets the visibility state of the specified layer. Hidden layers do not contribute to the mathematical composition.

Parameters
indexThe layer index to query. 0 refers to the base canvas.
Returns
true if the layer is visible; otherwise false.

◆ RemoveLayer()

ISubCanvas< T > SystemEx.Drawing.ICanvasList< T >.RemoveLayer ( int index)

Removes the layer at the specified index.

Parameters
indexThe index of the layer to remove.
Returns
The removed layer instance.

◆ Resize()

bool SystemEx.Drawing.ICanvas< T >.Resize ( int size)

Resizes the canvas to the specified total size (Width × Height). Existing values may be truncated or expanded depending on the implementation. This operation modifies only the mathematical buffer.

Parameters
sizeThe new total number of elements.
Returns
true if the resize succeeded; otherwise false.

◆ SetShowing()

bool SystemEx.Drawing.ICanvasList< T >.SetShowing ( bool show,
int index )

Sets the visibility state of the specified layer. A hidden layer does not participate in the mathematical composition when GetPixels is invoked.

Layer index semantics: 0 refers to the base canvas, 1 refers to the first added layer, 2 to the second, and so on.

Parameters
showWhether the layer should be included in composition.
indexThe layer index whose visibility is being changed.
Returns
true if the visibility was changed; otherwise false.

◆ SwapIn() [1/2]

int SystemEx.Drawing.ICanvasList< T >.SwapIn ( int x,
int y,
int width,
int height,
ref ICanvas< T > toDraw )

Swaps the mathematically composed region of this canvas into another canvas. The region defined by x , y , width , and height is computed mathematically and then written into toDraw .

No drawing occurs; the operation transfers computed pixel values.

Parameters
xThe X coordinate of the region.
yThe Y coordinate of the region.
widthThe width of the region.
heightThe height of the region.
toDrawThe target canvas receiving the computed pixels.
Returns
The number of pixels swapped.

◆ SwapIn() [2/2]

int SystemEx.Drawing.ICanvasList< T >.SwapIn ( ref ICanvas< T > toDraw)

Swaps the entire mathematically composed canvas into another canvas. This transfers the full computed pixel buffer into toDraw .

Parameters
toDrawThe target canvas receiving the composed pixel buffer.
Returns
The number of pixels swapped.

◆ ToString() [1/2]

override string SystemEx.Drawing.ColorXYZ.ToString ( )

Returns a string representation of the XYZ color.

90 {
91 return string.Create(null, stackalloc char[256], $"[{m_x}, {m_y}, {m_z}]");
92 }

◆ ToString() [2/2]

override string SystemEx.Drawing.ColorYUV.ToString ( )

Returns a string representation of the YUV color.

92 {
93 return string.Create(null, stackalloc char[256], $"[{m_y}, {m_u}, {m_v}]");
94 }

Properties

◆ AliceBlue

ColorR8G8B8 SystemEx.Drawing.WhiteColors.AliceBlue
staticget

AliceBlue #F0F8FF.

◆ AntiqueWhite

ColorR8G8B8 SystemEx.Drawing.WhiteColors.AntiqueWhite
staticget

AntiqueWhite #FAEBD7.

◆ Aqua

ColorR8G8B8 SystemEx.Drawing.CyanColors.Aqua
staticget

Aqua #00FFFF.

◆ Aquamarine

ColorR8G8B8 SystemEx.Drawing.CyanColors.Aquamarine
staticget

Aquamarine #7FFFD4.

◆ Azure

ColorR8G8B8 SystemEx.Drawing.WhiteColors.Azure
staticget

Azure #F0FFFF.

◆ Beige

ColorR8G8B8 SystemEx.Drawing.WhiteColors.Beige
staticget

Beige #F5F5DC.

◆ Black

ColorGray SystemEx.Drawing.GreyColors.Black
staticget

Black #000000.

◆ BlueViolet

ColorR8G8B8 SystemEx.Drawing.PurpelColors.BlueViolet
staticget

BlueViolet #8A2BE2.

◆ Buffer

IEnumerable<T> SystemEx.Drawing.ICanvas< T >.Buffer
get

Gets an enumerable view of the underlying buffer. The buffer contains the raw mathematical color values in row‑major order. No rendering or transformation occurs when accessing this property.

62{ get; }

◆ Chartreuse

ColorR8G8B8 SystemEx.Drawing.GreenColors.Chartreuse
staticget

Chartreuse #7FFF00.

◆ Coral

ColorR8G8B8 SystemEx.Drawing.OrangeColors.Coral
staticget

Coral #FF7F50.

◆ Crimson

ColorR8G8B8 SystemEx.Drawing.RedColors.Crimson
staticget

Crimson #DC143C.

◆ Cyan

ColorR8G8B8 SystemEx.Drawing.CyanColors.Cyan
staticget

Cyan #00FFFF.

◆ DarkCyan

ColorR8G8B8 SystemEx.Drawing.GreenColors.DarkCyan
staticget

DarkCyan #008B8B.

◆ DarkGray

ColorGray SystemEx.Drawing.GreyColors.DarkGray
staticget

DarkGray #A9A9A9.

◆ DarkGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.DarkGreen
staticget

DarkGreen #006400.

◆ DarkKhaki

ColorR8G8B8 SystemEx.Drawing.YellowColors.DarkKhaki
staticget

DarkKhaki #BDB76B.

◆ DarkMagenta

ColorR8G8B8 SystemEx.Drawing.PurpelColors.DarkMagenta
staticget

DarkMagenta #8B008B.

◆ DarkOliveGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.DarkOliveGreen
staticget

DarkOliveGreen #556B2F.

◆ DarkOrange

ColorR8G8B8 SystemEx.Drawing.OrangeColors.DarkOrange
staticget

DarkOrange #FF8C00.

◆ DarkOrchid

ColorR8G8B8 SystemEx.Drawing.PurpelColors.DarkOrchid
staticget

DarkOrchid #9932CC.

◆ DarkRed

ColorR8G8B8 SystemEx.Drawing.RedColors.DarkRed
staticget

DarkRed #8B0000.

◆ DarkSalmon

ColorR8G8B8 SystemEx.Drawing.RedColors.DarkSalmon
staticget

DarkSalmon #E9967A.

◆ DarkSeaGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.DarkSeaGreen
staticget

DarkSeaGreen #8FBC8F.

◆ DarkSlateBlue

ColorR8G8B8 SystemEx.Drawing.PurpelColors.DarkSlateBlue
staticget

DarkSlateBlue #483D8B.

◆ DarkSlateGray

ColorR8G8B8 SystemEx.Drawing.GreyColors.DarkSlateGray
staticget

DarkSlateGray #2F4F4F.

◆ DarkTurquoise

ColorR8G8B8 SystemEx.Drawing.CyanColors.DarkTurquoise
staticget

DarkTurquoise #00CED1.

◆ DarkViolet

ColorR8G8B8 SystemEx.Drawing.PurpelColors.DarkViolet
staticget

DarkViolet #9400D3.

◆ DeepPink

ColorR8G8B8 SystemEx.Drawing.PinkColors.DeepPink
staticget

DeepPink.

◆ DimGray

ColorGray SystemEx.Drawing.GreyColors.DimGray
staticget

DimGray #696969.

◆ Enable

bool SystemEx.Drawing.ISubCanvas< T >.Enable
getset

Gets or sets whether this sub‑canvas is enabled. Disabled sub‑canvases do not participate in mathematical composition and behave as if they were absent from the layer stack.

108{ get; set; }

◆ FireBrick

ColorR8G8B8 SystemEx.Drawing.RedColors.FireBrick
staticget

FireBrick #B22222.

◆ FloralWhite

ColorR8G8B8 SystemEx.Drawing.WhiteColors.FloralWhite
staticget

FloralWhite #FFFAF0.

◆ ForestGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.ForestGreen
staticget

ForestGreen #228B22.

◆ Fuchsia

ColorR8G8B8 SystemEx.Drawing.PurpelColors.Fuchsia
staticget

Fuchsia #FF00FF.

◆ Gainsboro

ColorGray SystemEx.Drawing.GreyColors.Gainsboro
staticget

Gainsboro #DCDCDC.

◆ GhostWhite

ColorR8G8B8 SystemEx.Drawing.WhiteColors.GhostWhite
staticget

GhostWhite #F8F8FF.

◆ Gold

ColorR8G8B8 SystemEx.Drawing.YellowColors.Gold
staticget

Gold #FFD700.

◆ Gray

ColorGray SystemEx.Drawing.GreyColors.Gray
staticget

Gray #808080.

◆ Green

ColorR8G8B8 SystemEx.Drawing.GreenColors.Green
staticget

Green #008000.

◆ GreenYellow

ColorR8G8B8 SystemEx.Drawing.GreenColors.GreenYellow
staticget

GreenYellow #ADFF2F.

◆ HasMask

bool SystemEx.Drawing.ISubCanvas< T >.HasMask
getset

Gets or sets a value indicating whether the sub‑canvas uses a mask. When enabled, the mask determines which regions of the sub‑canvas contribute to the mathematical composition.

144{ get; set; }

◆ Height

int SystemEx.Drawing.ICanvas< T >.Height
get

Gets the height of the canvas in mathematical units (rows).

50{ get; }

◆ HoneyDew

ColorR8G8B8 SystemEx.Drawing.WhiteColors.HoneyDew
staticget

HoneyDew #F0FFF0.

◆ HotPink

ColorR8G8B8 SystemEx.Drawing.PinkColors.HotPink
staticget

HotPink.

◆ IndianRed

ColorR8G8B8 SystemEx.Drawing.RedColors.IndianRed
staticget

IndianRed #CD5C5C.

◆ Indigo

ColorR8G8B8 SystemEx.Drawing.PurpelColors.Indigo
staticget

Indigo #4B0082.

◆ IsDirty

bool SystemEx.Drawing.ISubCanvas< T >.IsDirty
getset

Gets or sets whether the sub‑canvas is marked as dirty. A dirty state indicates that its mathematical content has changed and that dependent compositions may need to be recalculated.

122{ get; set; }

◆ Ivory

ColorR8G8B8 SystemEx.Drawing.WhiteColors.Ivory
staticget

Ivory #FFFFF0.

◆ Khaki

ColorR8G8B8 SystemEx.Drawing.YellowColors.Khaki
staticget

Khaki #F0E68C.

◆ Lavender

ColorR8G8B8 SystemEx.Drawing.PurpelColors.Lavender
staticget

Lavender #E6E6FA.

◆ LavenderBlush

ColorR8G8B8 SystemEx.Drawing.WhiteColors.LavenderBlush
staticget

LavenderBlush #FFF0F5.

◆ LawnGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.LawnGreen
staticget

LawnGreen #7CFC00.

◆ Layers

IReadOnlyMap<ISubCanvas<T>, BlendMode> SystemEx.Drawing.ICanvasList< T >.Layers
get

Gets the collection of layers associated with this canvas list. Each layer is represented as an ISubCanvas<T> paired with a BlendMode describing how the layer mathematically interacts with the layers beneath it.

Layers do not contain rendered pixel data; they define transformation rules that are applied when the composed buffer is requested.

183{ get; }

◆ LemonChiffon

ColorR8G8B8 SystemEx.Drawing.YellowColors.LemonChiffon
staticget

LemonChiffon #FFFACD.

◆ LightCoral

ColorR8G8B8 SystemEx.Drawing.RedColors.LightCoral
staticget

LightCoral #F08080.

◆ LightCyan

ColorR8G8B8 SystemEx.Drawing.CyanColors.LightCyan
staticget

LightCyan #E0FFFF.

◆ LightGoldenRodYellow

ColorR8G8B8 SystemEx.Drawing.YellowColors.LightGoldenRodYellow
staticget

LightGoldenRodYellow #FAFAD2.

◆ LightGray

ColorGray SystemEx.Drawing.GreyColors.LightGray
staticget

LightGray #D3D3D3.

◆ LightGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.LightGreen
staticget

LightGreen #90EE90.

◆ LightPink

ColorR8G8B8 SystemEx.Drawing.PinkColors.LightPink
staticget

LightPink.

◆ LightSalmon

ColorR8G8B8 SystemEx.Drawing.RedColors.LightSalmon
staticget

LightSalmon.

◆ LightSeaGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.LightSeaGreen
staticget

LightSeaGreen #20B2AA.

◆ LightSlateGray

ColorR8G8B8 SystemEx.Drawing.GreyColors.LightSlateGray
staticget

LightSlateGray #778899.

◆ LightYellow

ColorR8G8B8 SystemEx.Drawing.YellowColors.LightYellow
staticget

LightYellow #FFFFE0.

◆ Lime

ColorR8G8B8 SystemEx.Drawing.GreenColors.Lime
staticget

Lime #00FF00.

◆ LimeGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.LimeGreen
staticget

LimeGreen #32CD32.

◆ Linen

ColorR8G8B8 SystemEx.Drawing.WhiteColors.Linen
staticget

Linen #FAF0E6.

◆ Magenta

ColorR8G8B8 SystemEx.Drawing.PurpelColors.Magenta
staticget

Magenta #FF00FF.

◆ Mask

ICanvas<ColorGray> SystemEx.Drawing.ISubCanvas< T >.Mask
getset

Gets or sets the grayscale mask applied to this sub‑canvas. The mask defines per‑pixel visibility weights, allowing selective inclusion or exclusion of regions during composition. A mask does not draw pixels; it modifies how the sub‑canvas mathematically interacts with underlying layers.

153{ get; set; }

◆ MediumAquaMarine

ColorR8G8B8 SystemEx.Drawing.GreenColors.MediumAquaMarine
staticget

MediumAquaMarine #66CDAA.

◆ MediumOrchid

ColorR8G8B8 SystemEx.Drawing.PurpelColors.MediumOrchid
staticget

MediumOrchid #BA55D3.

◆ MediumPurple

ColorR8G8B8 SystemEx.Drawing.PurpelColors.MediumPurple
staticget

MediumPurple #9370DB.

◆ MediumSeaGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.MediumSeaGreen
staticget

MediumSeaGreen #3CB371.

◆ MediumSlateBlue

ColorR8G8B8 SystemEx.Drawing.PurpelColors.MediumSlateBlue
staticget

MediumSlateBlue #7B68EE.

◆ MediumSpringGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.MediumSpringGreen
staticget

MediumSpringGreen #00FA9A.

◆ MediumTurquoise

ColorR8G8B8 SystemEx.Drawing.CyanColors.MediumTurquoise
staticget

MediumTurquoise #48D1CC.

◆ MediumVioletRed

ColorR8G8B8 SystemEx.Drawing.PinkColors.MediumVioletRed
staticget

MediumVioletRed.

◆ MintCream

ColorR8G8B8 SystemEx.Drawing.WhiteColors.MintCream
staticget

MintCream #F5FFFA.

◆ MistyRose

ColorR8G8B8 SystemEx.Drawing.WhiteColors.MistyRose
staticget

MistyRose #FFE4E1.

◆ Moccasin

ColorR8G8B8 SystemEx.Drawing.YellowColors.Moccasin
staticget

Moccasin #FFE4B5.

◆ Name

string SystemEx.Drawing.ISubCanvas< T >.Name
getset

Gets or sets the name of the sub‑canvas. This is a user‑defined identifier useful for organizing, labeling, or referencing layers within a canvas list.

129{ get; set; }

◆ OldLace

ColorR8G8B8 SystemEx.Drawing.WhiteColors.OldLace
staticget

OldLace #FDF5E6.

◆ OliveDrab

ColorR8G8B8 SystemEx.Drawing.GreenColors.OliveDrab
staticget

OliveDrab #6B8E23.

◆ Orange

ColorR8G8B8 SystemEx.Drawing.OrangeColors.Orange
staticget

Orange #FFA500.

◆ OrangeRed

ColorR8G8B8 SystemEx.Drawing.OrangeColors.OrangeRed
staticget

OrangeRed #FF4500.

◆ Orchid

ColorR8G8B8 SystemEx.Drawing.PurpelColors.Orchid
staticget

Orchid #DA70D6.

◆ PaleGoldenRod

ColorR8G8B8 SystemEx.Drawing.YellowColors.PaleGoldenRod
staticget

PaleGoldenRod #EEE8AA.

◆ PaleGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.PaleGreen
staticget

PaleGreen #98FB98.

◆ PaleTurquoise

ColorR8G8B8 SystemEx.Drawing.CyanColors.PaleTurquoise
staticget

PaleTurquoise #AFEEEE.

◆ PaleVioletRed

ColorR8G8B8 SystemEx.Drawing.PinkColors.PaleVioletRed
staticget

PaleVioletRed.

◆ PapayaWhip

ColorR8G8B8 SystemEx.Drawing.YellowColors.PapayaWhip
staticget

PapayaWhip #FFEFD5.

◆ PeachPuff

ColorR8G8B8 SystemEx.Drawing.YellowColors.PeachPuff
staticget

PeachPuff #FFDAB9.

◆ Pink

ColorR8G8B8 SystemEx.Drawing.PinkColors.Pink
staticget

Pink.

◆ Plum

ColorR8G8B8 SystemEx.Drawing.PurpelColors.Plum
staticget

Plum #DDA0DD.

◆ Purple

ColorR8G8B8 SystemEx.Drawing.PurpelColors.Purple
staticget

Purple #800080.

◆ RebeccaPurple

ColorR8G8B8 SystemEx.Drawing.PurpelColors.RebeccaPurple
staticget

RebeccaPurple #663399.

◆ Red

ColorR8G8B8 SystemEx.Drawing.RedColors.Red
staticget

Red #FF0000.

◆ Salmon

ColorR8G8B8 SystemEx.Drawing.RedColors.Salmon
staticget

Salmon #FA8072.

◆ SeaGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.SeaGreen
staticget

SeaGreen #2E8B57.

◆ SeaShell

ColorR8G8B8 SystemEx.Drawing.WhiteColors.SeaShell
staticget

SeaShell #FFF5EE.

◆ Showing

bool SystemEx.Drawing.ISubCanvas< T >.Showing
getset

Gets or sets whether this sub‑canvas is visible. A hidden sub‑canvas remains present in the layer structure but does not contribute to the composed pixel buffer.

115{ get; set; }

◆ Silver

ColorGray SystemEx.Drawing.GreyColors.Silver
staticget

Silver #C0C0C0.

◆ SlateBlue

ColorR8G8B8 SystemEx.Drawing.PurpelColors.SlateBlue
staticget

SlateBlue #6A5ACD.

◆ SlateGray

ColorR8G8B8 SystemEx.Drawing.GreyColors.SlateGray
staticget

SlateGray #708090.

◆ Snow

ColorR8G8B8 SystemEx.Drawing.WhiteColors.Snow
staticget

Snow #FFFAFA.

◆ SpringGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.SpringGreen
staticget

SpringGreen #00FF7F.

◆ Teal

ColorR8G8B8 SystemEx.Drawing.GreenColors.Teal
staticget

Teal #008080.

◆ this[int index]

ISubCanvas<T> SystemEx.Drawing.ICanvasList< T >.this[int index]
get

Gets the sub‑canvas at the specified index.

Parameters
indexThe index of the sub‑canvas to retrieve.
Returns
The sub‑canvas at the given index.
190{ get; }

◆ Thistle

ColorR8G8B8 SystemEx.Drawing.PurpelColors.Thistle
staticget

Thistle #D8BFD8.

◆ Tomato

ColorR8G8B8 SystemEx.Drawing.OrangeColors.Tomato
staticget

Tomato #FF6347.

◆ Turquoise

ColorR8G8B8 SystemEx.Drawing.CyanColors.Turquoise
staticget

Turquoise #40E0D0.

◆ U

float SystemEx.Drawing.ColorYUV.U
getset

Gets or sets the U (chrominance blue) component.

38{ get => m_u; set => m_u = value; }

◆ V

float SystemEx.Drawing.ColorYUV.V
getset

Gets or sets the V (chrominance red) component.

43{ get => m_v; set => m_v = value; }

◆ Violet

ColorR8G8B8 SystemEx.Drawing.PurpelColors.Violet
staticget

Violet #EE82EE.

◆ Visible

byte SystemEx.Drawing.ISubCanvas< T >.Visible
getset

Gets or sets the visibility weight of the sub‑canvas. This value represents a mathematical transparency factor used during layer blending. Higher values increase the influence of the sub‑canvas on the final composition.

137{ get; set; }

◆ White

ColorGray SystemEx.Drawing.WhiteColors.White
staticget

White #FFFFFF.

◆ WhiteSmoke

ColorGray SystemEx.Drawing.WhiteColors.WhiteSmoke
staticget

WhiteSmoke #F5F5F5.

◆ Width

int SystemEx.Drawing.ICanvas< T >.Width
get

Gets the width of the canvas in mathematical units (columns).

55{ get; }

◆ X

float SystemEx.Drawing.ColorXYZ.X
getset

Gets or sets the X component of the XYZ color.

33{ get => m_x; set => m_x = value; }

◆ Y [1/2]

float SystemEx.Drawing.ColorXYZ.Y
getset

Gets or sets the Y component of the XYZ color.

38{ get => m_y; set => m_y = value; }

◆ Y [2/2]

float SystemEx.Drawing.ColorYUV.Y
getset

Gets or sets the Y (luma) component.

33{ get => m_y; set => m_y = value; }

◆ Yellow

ColorR8G8B8 SystemEx.Drawing.YellowColors.Yellow
staticget

Yellow #FFFF00.

◆ YellowGreen

ColorR8G8B8 SystemEx.Drawing.GreenColors.YellowGreen
staticget

YellowGreen #9ACD32.

◆ Z

float SystemEx.Drawing.ColorXYZ.Z
getset

Gets or sets the Z component of the XYZ color.

43{ get => m_z; set => m_z = value; }