This code demonstrates how to create an image view in memory and write data into it to create a checkerboard pattern. Tiles are drawn region by region, and is faster than pixel by pixel.
using System.Diagnostics;
using System;
{
public class CheckerBoardFast
{
{
const ulong tileCount = 10;
Array.Fill(blackTileBuffer, (byte)0);
Array.Fill(whiteTileBuffer, (byte)255);
for (ulong i = 0; i < tileCount; ++i)
{
for (ulong j = 0; j < tileCount; ++j)
{
if ((i + j) % 2 == 0)
else
}
}
return image;
}
public static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
sw.Start();
var imageCheckerBoard = Build(1000);
sw.Stop();
Console.WriteLine("Checkerboard (faster method) image generated in "
+ sw.ElapsedMilliseconds + " ms");
Console.WriteLine(imageCheckerBoard.ToString());
Console.WriteLine("SUCCESS");
}
}
}
Stores information about a data type.
Definition DataType.cs:24
This factory is aimed at creating dataset views.
Definition ImageViewFactory.cs:21
static ImageView Allocate(VectorXu64 shape, DataType type, ImageProperties properties, MetadataNode metadata)
Creates a memory image with the given shape and type.
Definition ImageViewFactory.cs:86
Interface representing an N dimensional image.
Definition ImageView.cs:30
unsafe void WriteRegion(RegionXu64 region, byte[] src)
Write a input buffer into a given region of the image.
Definition ImageView.cs:387
A Region using dynamic vectors.
Definition RegionXu64.cs:14
uint ElementCount
The number of elements in this region.
Definition RegionXu64.cs:139
static RegionXu64 CreateFullRegion(VectorXu64 regionSize)
Utility factory that create the region of origin [0, 0, 0] and given size.
Definition RegionXu64.cs:173
A dynamically sized arithmetic vector.
Definition VectorXu64.cs:14
Definition CreateDataFrame.cs:6
Definition AccessCapabilities.cs:11
DataTypeId
A collection of built-in data types.
Definition DataTypeId.cs:15