Table of Contents

Class FallbackImage

Namespace
Egami.Drawing
Assembly
Egami.Drawing.dll

A drawing call rendered into pixels by Canvas.RasterizeFallback, for a backend to place as an image.

public sealed record FallbackImage : IEquatable<FallbackImage>
Inheritance
FallbackImage
Implements
Inherited Members

Examples

// A canvas draws onto a raster. Calls draw when they are made; dispose the canvas when done.
using Raster<Rgba8> raster = Raster.Create(400, 300, Rgba8.White);
using (RasterCanvas<Rgba8> canvas = raster.CreateCanvas())
{
    canvas.FillRect(new RectF(20, 20, 160, 100), new Rgba8(30, 90, 200, 255));

    // Save and Restore bracket transform and clip changes.
    canvas.Save();
    canvas.Translate(260, 150);
    canvas.Rotate(30);
    canvas.FillRect(new RectF(-50, -30, 100, 60), new Rgba8(200, 60, 30, 200));
    canvas.Restore();

    canvas.FillCircle(new Vector2(100, 220), 50, Rgba8.Black);
}

// Blend edges in linear light, which keeps thin lines and translucent colors from darkening.
using RasterCanvas<Rgba8> linear = raster.CreateCanvas(new CanvasOptions { ColorSpace = ColorSpace.Linear });

Constructors

FallbackImage(Raster<RgbaF32>, RectF)

A drawing call rendered into pixels by Canvas.RasterizeFallback, for a backend to place as an image.

public FallbackImage(Raster<RgbaF32> Image, RectF DeviceBounds)

Parameters

Image Raster<RgbaF32>

The pixels, straight-alpha float, over transparency.

DeviceBounds RectF

The device rectangle the image covers.

Examples

// A canvas draws onto a raster. Calls draw when they are made; dispose the canvas when done.
using Raster<Rgba8> raster = Raster.Create(400, 300, Rgba8.White);
using (RasterCanvas<Rgba8> canvas = raster.CreateCanvas())
{
    canvas.FillRect(new RectF(20, 20, 160, 100), new Rgba8(30, 90, 200, 255));

    // Save and Restore bracket transform and clip changes.
    canvas.Save();
    canvas.Translate(260, 150);
    canvas.Rotate(30);
    canvas.FillRect(new RectF(-50, -30, 100, 60), new Rgba8(200, 60, 30, 200));
    canvas.Restore();

    canvas.FillCircle(new Vector2(100, 220), 50, Rgba8.Black);
}

// Blend edges in linear light, which keeps thin lines and translucent colors from darkening.
using RasterCanvas<Rgba8> linear = raster.CreateCanvas(new CanvasOptions { ColorSpace = ColorSpace.Linear });

Properties

DeviceBounds

The device rectangle the image covers.

public RectF DeviceBounds { get; init; }

Property Value

RectF

Image

The pixels, straight-alpha float, over transparency.

public Raster<RgbaF32> Image { get; init; }

Property Value

Raster<RgbaF32>