Afterglow.Graphics.XnaRenderWindow.TakeScreenshot C# (CSharp) Method

TakeScreenshot() public method

Takes a screenshot.
public TakeScreenshot ( string filename ) : void
filename string The filename.
return void
        public void TakeScreenshot(string filename)
        {
            using (var texture2D = new ResolveTexture2D(
                mDevice, WIDTH, HEIGHT, 1, SurfaceFormat.Color))
            {
                mDevice.ResolveBackBuffer(texture2D);

                texture2D.Save(filename, ImageFileFormat.Bmp);
            }
        }

Usage Example

Example #1
0
        public void CanSwitchBetweenRenderWindowsWhenRenderingIsDoneInAControl()
        {
            using (var form = new Form())
            {
                form.ClientSize = new Size(1024, 760);

                var button = new Button { Size = new Size(800, 600), Top = 112, Left = 80, Parent = form };

                IntPtr handle = button.Handle;
                IRenderWindow renderWindow = new XnaRenderWindow(handle);

                button.KeyPress +=
                    delegate(object sender, KeyPressEventArgs args)
                    {
                        if (args.KeyChar == 'p')
                        {
                            renderWindow.TakeScreenshot("test.bmp");
                        }
                        else if (args.KeyChar == 's')
                        {
                            if (renderWindow is XnaRenderWindow)
                            {
                                renderWindow.Dispose();
                                renderWindow = new SlimDXRenderWindow(handle);
                            }
                            else
                            {
                                renderWindow.Dispose();
                                renderWindow = new XnaRenderWindow(handle);
                            }
                        }
                    };

                Application.Idle +=
                    delegate
                    {
                        renderWindow.Render();

                        Application.DoEvents();
                    };
                Application.Run(form);

                if (renderWindow != null)
                {
                    renderWindow.Dispose();
                }
            }
        }
All Usage Examples Of Afterglow.Graphics.XnaRenderWindow::TakeScreenshot