internal static void DrawNode(Node node, [CallerMemberName] string memberName = "") { using (Cairo.ImageSurface surface = new Cairo.ImageSurface(Cairo.Format.Argb32, (int)node.Rect.Width, (int)node.Rect.Height)) using (Cairo.Context context = new Cairo.Context(surface)) { Draw(context, node); if (!Directory.Exists(OutputPath)) { Directory.CreateDirectory(OutputPath); } string filePath = OutputPath + "\\" + DateTime.UtcNow.ToString("yyyy-MM-dd_HH-mm-ss-fff_") + surface.GetHashCode() + memberName + ".png"; surface.WriteToPng(filePath); Util.OpenImage(filePath); } }