I have written a command that does various drawing operations, and I would like to effectively save a snapshot of what is on the screen at various times during the process. A few ways I have been able to do this is to create a View and call either GetSnapshot() or RenderToImage(). That works, except RenderToImage() - while it does a great job - is very slow, and GetSnapshot() I can't seem to quite control very well. I can't get a specific viewing area to completely fill the image.
An alternative approach I've been trying is using PNGOUT via Document.SendStringToExecute(). However, the problem there is that it cannot run within the current command, so instead they all just queue up and run after my command has exited.