static string CreateDrawing() { var dwgSpecs = new DwgSpecs { AdditionalStamping1 = "STAMP ABC", AdditionalStamping2 = "STAMP 123", SerialNumber = "SN 12345678", CustomerSymbol = "ALPHA" }; var dwgTemplate = new DwgTemplate(dwgSpecs); var rendererArguments = new ImageRendererArguments { UiContainer = dwgTemplate, Width = 440, Height = 440, Dpi = 300 }; var renderer = new ImageRenderer(); string fileName; renderer.RenderAndSave(rendererArguments, out fileName); return fileName; }
public void RenderAndSave(ImageRendererArguments args, out string fileName) { var mainContainer = new Grid(); mainContainer.Children.Add(args.UiContainer); mainContainer.Measure(new Size(args.Width, args.Height)); mainContainer.Arrange(new Rect(0, 0, args.Width, args.Height)); mainContainer.UpdateLayout(); var encoder = new PngBitmapEncoder(); var render = RenderBitmap(mainContainer, args.Dpi); var workingDirectory = @"c:\temp"; fileName = Path.Combine(workingDirectory, $"dwg_{Guid.NewGuid()}.png"); render.Render(mainContainer); encoder.Frames.Add(BitmapFrame.Create(render)); using (var s = File.Open(fileName, FileMode.Create)) { encoder.Save(s); } }