// Capture view.
var cycles = myView.RealtimeDisplayMode;
var oldpasses = cycles.MaxPasses;
cycles.PostEffectsOn = true;
cycles.MaxPasses = 2;
cycles.Paused = true;
var viewCapture = new Rhino.Display.ViewCapture();
viewCapture.Width = imageWidth;
viewCapture.Height = imageHeight;
viewCapture.ScaleScreenItems = false;
viewCapture.DrawAxes = false;
viewCapture.DrawGrid = false;
viewCapture.DrawGridAxes = false;
viewCapture.TransparentBackground = transBG_ON;
viewCapture.RealtimeRenderPasses = 10;
var bitmap = viewCapture.CaptureToBitmap(myView);
// Save image.
string filename;
List<string> images = new List<string>();
if (!saveSeries_ON)
{
filename = string.Format("{0}_{1}.png", fullPath, "Capture");
bitmap.Save(filename, System.Drawing.Imaging.ImageFormat.Png);
images.Add(filename);
}
else
{
// Assume index=0 for the first filename.
filename = string.Format("{0}_0.png", fullPath);
images.Add(filename);
// Try to increment the index until we find a name which doesn't exist yet.
if (System.IO.File.Exists(filename))
{
for (int i = 1; i < int.MaxValue; i++)
{
string localName = string.Format("{0}_{1}.png", fullPath, i.ToString());
images.Add(localName);
if (localName == filename)
return;
if (!System.IO.File.Exists(localName))
{
filename = localName;
break;
}
}
}
bitmap.Save(filename, System.Drawing.Imaging.ImageFormat.Png);
}
bitmap.Dispose();
cycles.MaxPasses = oldpasses;
cycles.Paused = false;
DA.SetDataList(0, images);
try this code, I copied from my plugin. it works in c# component, but need some modification.