public string DrawDiagramSvg() { SvgNet.SvgGdi.SvgGraphics ig; ig = new SvgNet.SvgGdi.SvgGraphics(); ig.Clear(Color.FromArgb(255, 255, 255, 255)); ig.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; ig.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; dlginstance.Draw(ig, 1.0f, -1, -1, new Point(-(dlginstance.VisibleRect.Location.X - 1), -(dlginstance.VisibleRect.Location.Y - 1)) , DrawClips, dlginstance.VisibleRect.Width); //string s = ig.WriteSVGString(dlginstance.VisibleRect.Width, dlginstance.VisibleRect.Height); string s = ig.WriteSVGString(); int IncIdx = s.IndexOf("SvgGdi_output"); if (IncIdx > 0) { string marker = "2000/svg\""; IncIdx = s.IndexOf(marker, IncIdx); if (IncIdx > 0) { s = s.Insert(IncIdx + marker.Length, string.Format(" width=\"{0}px\" height=\"{1}px\" ", dlginstance.VisibleRect.Width + 1, dlginstance.VisibleRect.Height + 1)); } } return(s); }