private void btExportToImage_Click(object sender, Janus.Windows.Ribbon.CommandEventArgs e) { using (var fs = new SaveFileDialog() { FileName = string.Format("{0}.png", Competition.Name), Filter = "png (*.png)|*.png" }) if (fs.ShowDialog(this) == DialogResult.OK) { Render render = new Render(); render.AddRenderer(typeof(GameShape), new GameShapeRenderer(this)); Rectangle renderRect = new Rectangle(new Point(0, 0), Size.Round(diagram.Model.Size)); //Get the bounds of the renderlist if (Singleton.Instance.ClipExport) { renderRect = System.Drawing.Rectangle.Round(diagram.Model.Elements.GetBounds()); renderRect.Inflate(20, 20); if (renderRect.X < 0) { renderRect.X = 0; } if (renderRect.Y < 0) { renderRect.Y = 0; } } //Set the render rectangle render.Zoom = 100; render.RenderRectangle = renderRect; render.Layers = diagram.Model.Layers; render.Elements = diagram.Model.Elements; //Use a default paging render.RenderDiagram(renderRect, new Paging()); using (var s = fs.OpenFile()) { render.Bitmap.Save(s, System.Drawing.Imaging.ImageFormat.Png); } } }