Bloom.HtmlThumbNailer.CreateImage C# (CSharp) Method

CreateImage() private method

private CreateImage ( Gecko.GeckoWebBrowser browser ) : Image
browser Gecko.GeckoWebBrowser
return Image
        private Image CreateImage(GeckoWebBrowser browser)
        {
            if (_syncControl.InvokeRequired)
            {
                return (Image)_syncControl.Invoke(new Func<GeckoWebBrowser, Image>(CreateImage), browser);
            }

            #if __MonoCS__
            var offscreenBrowser = browser as OffScreenGeckoWebBrowser;
            Debug.Assert(offscreenBrowser != null);

            return offscreenBrowser.GetBitmap(browser.Width, browser.Height);
            #else
            var creator = new ImageCreator(browser);
            byte[] imageBytes = creator.CanvasGetPngImage((uint)browser.Width, (uint)browser.Height);
            // Ensure image is still valid after the MemoryStream closes.
            using (var stream = new MemoryStream(imageBytes))
            {
                using (var image = new Bitmap(stream))
                {
                    return new Bitmap((image));
                }
            }
            #endif
        }