Class ColorGlyph
A glyph's color description from TryGetColorGlyph(ushort, FontPalette?, out ColorGlyph?, float): a PaintColorGlyph (COLR) or a BitmapColorGlyph (sbix, CBDT).
public abstract record ColorGlyph : IEquatable<ColorGlyph>
- Inheritance
-
ColorGlyph
- Implements
- Derived
- Inherited Members
Examples
// Color glyphs draw in color by themselves: COLR (layers and gradients), sbix and CBDT (images), per glyph.
using (RasterCanvas<Rgba8> canvas = image.CreateCanvas())
{
canvas.DrawText("Ship it", new Vector2(8, 40), new Font(text, 24), Rgba8.Black);
canvas.DrawText("\U0001F680\U0001F389", new Vector2(100, 42), new Font(emoji, 32), Rgba8.Black);
}
// The palette is a font setting; the paint's color fills a glyph's foreground parts and its alpha the whole glyph.
var darkMode = new Font(emoji, 32) { Palette = FontPalette.Dark };
ColorGlyphFormats formats = emoji.ColorFormats;
// The paint graph is there to walk, for writers that draw color glyphs their own way.
emoji.TryGetColorGlyph(emoji.GetGlyph(0x1F680), darkMode.Palette, out ColorGlyph? rocket);
Constructors
ColorGlyph(ushort, ColorGlyphFormats)
A glyph's color description from TryGetColorGlyph(ushort, FontPalette?, out ColorGlyph?, float): a PaintColorGlyph (COLR) or a BitmapColorGlyph (sbix, CBDT).
protected ColorGlyph(ushort Glyph, ColorGlyphFormats Format)
Parameters
GlyphushortThe glyph.
FormatColorGlyphFormatsThe table it came from.
Examples
// Color glyphs draw in color by themselves: COLR (layers and gradients), sbix and CBDT (images), per glyph.
using (RasterCanvas<Rgba8> canvas = image.CreateCanvas())
{
canvas.DrawText("Ship it", new Vector2(8, 40), new Font(text, 24), Rgba8.Black);
canvas.DrawText("\U0001F680\U0001F389", new Vector2(100, 42), new Font(emoji, 32), Rgba8.Black);
}
// The palette is a font setting; the paint's color fills a glyph's foreground parts and its alpha the whole glyph.
var darkMode = new Font(emoji, 32) { Palette = FontPalette.Dark };
ColorGlyphFormats formats = emoji.ColorFormats;
// The paint graph is there to walk, for writers that draw color glyphs their own way.
emoji.TryGetColorGlyph(emoji.GetGlyph(0x1F680), darkMode.Palette, out ColorGlyph? rocket);
Properties
Format
The table it came from.
public ColorGlyphFormats Format { get; init; }
Property Value
Glyph
The glyph.
public ushort Glyph { get; init; }