public void ShouldConvertDataToPlanar2BPPImage() { using (var stream = new MemoryStream(this.hexData)) { var plan = new List <List <short> >() { new List <short>() { 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 14, 14, 14, 14, 14, 14, 14, 14, }, new List <short>() { 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 9, 9, 9, 9, 9, 9, 11, 11, 11, 11, 11, 11, 11, 11, 13, 13, 13, 13, 13, 13, 13, 13, 15, 15, 15, 15, 15, 15, 15, 15, }, }; var parameters = new ImagePattern() { Format = "Planar-2BPP", Height = 8, Width = 8, TilePattern = new TilePattern(plan) { Height = 8, Interleave = true, Order = EnumTileOrder.Planar, Size = 16, Width = 8, }, }; var converter = new Planar2BPP(); var bitmap = converter.Convert(stream, parameters); Assert.That(this.imageData, Is.EqualTo(bitmap.Pixels)); } }
public void ShouldConvertPlanar2BPPImageToData() { var plan = new List <List <short> >() { new List <short>() { 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 14, 14, 14, 14, 14, 14, 14, 14, }, new List <short>() { 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 9, 9, 9, 9, 9, 9, 11, 11, 11, 11, 11, 11, 11, 11, 13, 13, 13, 13, 13, 13, 13, 13, 15, 15, 15, 15, 15, 15, 15, 15, }, }; var parameters = new ImagePattern() { Format = "Planar-2BPP", Height = 8, Width = 8, TilePattern = new TilePattern(plan) { Height = 8, Interleave = true, Order = EnumTileOrder.Planar, Size = 16, Width = 8, }, }; var imageInfo = new SKImageInfo(parameters.Width, parameters.Height, SKColorType.Rgba8888); var bitmap = new SKBitmap(imageInfo); var pixels = bitmap.Pixels; int i = 0; foreach (var color in this.imageData) { pixels[i++] = color; } bitmap.Pixels = pixels; var converter = new Planar2BPP(); var dataStream = converter.ConvertBack(bitmap, parameters); Assert.That(this.hexData, Is.EqualTo(dataStream.ToArray())); }