Saving a canvas to png C# wpf Saving a canvas to png C# wpf wpf wpf

Saving a canvas to png C# wpf


Replace the first four lines with these lines

Rect bounds = VisualTreeHelper.GetDescendantBounds(canvas);double dpi = 96d;RenderTargetBitmap rtb = new RenderTargetBitmap((int)bounds.Width, (int)bounds.Height, dpi, dpi, System.Windows.Media.PixelFormats.Default);DrawingVisual dv = new DrawingVisual();using (DrawingContext dc = dv.RenderOpen()){    VisualBrush vb = new VisualBrush(canvas);    dc.DrawRectangle(vb, null, new Rect(new Point(), bounds.Size));}rtb.Render(dv);

I have followed this article http://mcleodsean.wordpress.com/2008/10/07/bitmap-snapshots-of-wpf-visuals/ (for more explanation) and able to save the canvas without margins.