public void RenderToFile(UserControl target, [CallerMemberName] string testName = "") { string path = Path.Combine(testDirectory, testName + ".avalonia.out.png"); RenderTargetBitmap bitmap = new RenderTargetBitmap( (int)target.Width, (int)target.Height, 96, 96, PixelFormats.Pbgra32); Size size = new Size(target.Width, target.Height); target.Measure(size); target.Arrange(new Rect(size)); bitmap.Render(target); File.Delete(path); using (FileStream fs = new FileStream(path, FileMode.Create)) { PngBitmapEncoder encoder = new PngBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(bitmap)); encoder.Save(fs); } }
protected void RenderToFile(Control target, [CallerMemberName] string testName = "") { if (!Directory.Exists(OutputPath)) { Directory.CreateDirectory(OutputPath); } string path = Path.Combine(OutputPath, testName + ".out.png"); using (RenderTargetBitmap bitmap = new RenderTargetBitmap( (int)target.Width, (int)target.Height)) { Size size = new Size(target.Width, target.Height); target.Measure(size); target.Arrange(new Rect(size)); bitmap.Render(target); bitmap.Save(path); } }