   [SLIMDX] Printing Screen
  I currently use the GETBACKBUFFER method to grab the graphics of my D3D surface to send to a printer or save an image file.  No problems, however the resolution is low and a bit blocky (same as whatever screen or window resolution being used).Can I create a special super-hi resolution non-screen surface to render a frame just to create a higher resolution print image using the above method?   
  I used CreateRenderTarget to do this.  To make it work with anti-aliasing, I also used StretchRectangle.  Surface.ToFile made it easy to get the resulting data.  For example, assuming you already have a device set up for rendering to the screen, this code uses it to render to a larger offscreen surface and save it to a file:Surface origrt = Device.GetRenderTarget(0);SurfaceDescription desc = origrt.Description;Format rtFormat = Format.X8R8G8B8;Surface origDepth = Device.DepthStencilSurface;Format rtDepthFormat = origDepth.Description.Format;MultisampleType rtMultisample = MultisampleType.FourSamples;rtMultisample = CheckMultisampling(rtMultisample, rtFormat, rtDepthFormat);Surface rt = Surface.CreateRenderTarget(Device,    (desc.Width * 300) / 96, (desc.Height * 300) / 96,    rtFormat, rtMultisample, 0,false);SurfaceDescription rtdesc = rt.Description;Device.SetRenderTarget(0, rt);Surface newDepth = Surface.CreateDepthStencil(Device,    rt.Description.Width, rt.Description.Height,    rtDepthFormat, rt.Description.MultisampleType, rt.Description.MultisampleQuality, true);Device.DepthStencilSurface = newDepth;Device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, new Color4(System.Drawing.Color.White), 1.0f, 0);Device.BeginScene();// ...render scene here...Device.EndScene();Device.SetRenderTarget(0, origrt);Device.DepthStencilSurface = origDepth;Surface resolved = Surface.CreateRenderTarget(Device,    rtdesc.Width, rtdesc.Height, rtdesc.Format, MultisampleType.None, 0, true);Device.StretchRectangle(rt, resolved, TextureFilter.None);Surface.ToFile(resolved, filename, ImageFileFormat.Bmp);resolved.Dispose();origDepth.Dispose();newDepth.Dispose();rt.Dispose();Based on code from:http://stackoverflow.com/questions/120066/doing-readback-from-direct3d-textures-and-surfaces