Catel.Services.ViewExportService.CreateImageFromUIElement C# (CSharp) Method

CreateImageFromUIElement() private static method

private static CreateImageFromUIElement ( UIElement element, double dpiX, double dpiY ) : System.Windows.Media.Imaging.BitmapSource
element UIElement
dpiX double
dpiY double
return System.Windows.Media.Imaging.BitmapSource
        private static BitmapSource CreateImageFromUIElement(UIElement element, double dpiX, double dpiY)
        {
#if SILVERLIGHT
            var bitmap = new WriteableBitmap((int)element.RenderSize.Width, (int)element.RenderSize.Height);

            Array.Clear(bitmap.Pixels, 0, bitmap.Pixels.Length);
            bitmap.Render(element, element.RenderTransform);
            bitmap.Invalidate();            
#else
            var bitmap = new RenderTargetBitmap((int)(element.RenderSize.Width * dpiX / 96),
                (int)(element.RenderSize.Height * dpiY / 96), dpiX, dpiY, PixelFormats.Pbgra32);
            bitmap.Render(element);
#endif

            return bitmap;
        }