Dwarrowdelf.Client.SymbolBitmapCache.CreateSymbolBitmap C# (CSharp) Method

CreateSymbolBitmap() private method

private CreateSymbolBitmap ( SymbolID symbolID, Color color, bool dark ) : System.Windows.Media.Imaging.BitmapSource
symbolID SymbolID
color Color
dark bool
return System.Windows.Media.Imaging.BitmapSource
        BitmapSource CreateSymbolBitmap(SymbolID symbolID, Color color, bool dark)
        {
            DrawingVisual drawingVisual = new DrawingVisual();
            DrawingContext drawingContext = drawingVisual.RenderOpen();

            Drawing d = m_symbolDrawingCache.GetDrawing(symbolID, color);

            drawingContext.PushTransform(new ScaleTransform(Math.Floor(m_size) / 100, Math.Floor(m_size) / 100));
            drawingContext.DrawDrawing(d);
            drawingContext.Pop();

            drawingContext.Close();

            if (dark)
                drawingVisual.Opacity = 0.2;

            RenderTargetBitmap bmp = new RenderTargetBitmap((int)m_size, (int)m_size, 96, 96, PixelFormats.Default);
            bmp.Render(drawingVisual);
            bmp.Freeze();
            return bmp;
        }