Ejemplo n.º 1
0
        protected void SaveFrame(TextureContent texture, string filename, bool flipY = false)
        {
            var outputPath = Path.GetDirectoryName(filename);
            if (!Directory.Exists(outputPath))
            {
                Directory.CreateDirectory(outputPath);
            }

            var image = new Image();
            image.SetPixels(texture.Width, texture.Height, texture.Pixels);

            if (flipY)
            {
                image = image.FlipY();
            }

            using (var stream = File.OpenWrite(filename))
            {
                image.SaveAsPng(stream);
            }
        }
Ejemplo n.º 2
0
        private void SaveAndVerifyFrame(TextureContent frame, string name)
        {
            var expectedFile = $"{ OutputPath }/{ name }.png";

            if (File.Exists(expectedFile))
            {
                using (var expectedStream = File.OpenRead(expectedFile))
                {
                    var expectedImage = new Image(expectedStream);

                    try
                    {
                        Assert.Equal(expectedImage.PixelWidth, frame.Width);
                        Assert.Equal(expectedImage.PixelHeight, frame.Height);
                        Assert.Equal(expectedImage.Pixels, frame.Pixels);
                        return;
                    }
                    catch
                    {
                        SaveFrame(frame, $"{ OutputPath }/{ name }.actual.png", true);
                        throw;
                    }
                }
            }

            SaveFrame(frame, expectedFile);
        }