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.