How do I convert from a Brush (e.g. DrawingBrush) to a BitmapSource? How do I convert from a Brush (e.g. DrawingBrush) to a BitmapSource? wpf wpf

How do I convert from a Brush (e.g. DrawingBrush) to a BitmapSource?


public static BitmapSource BitmapSourceFromBrush(Brush drawingBrush, int size = 32, int dpi = 96){    // RenderTargetBitmap = builds a bitmap rendering of a visual    var pixelFormat = PixelFormats.Pbgra32;    RenderTargetBitmap rtb = new RenderTargetBitmap(size, size, dpi, dpi, pixelFormat);    // Drawing visual allows us to compose graphic drawing parts into a visual to render    var drawingVisual = new DrawingVisual();    using (DrawingContext context = drawingVisual.RenderOpen())    {        // Declaring drawing a rectangle using the input brush to fill up the visual        context.DrawRectangle(drawingBrush, null, new Rect(0, 0, size, size));    }    // Actually rendering the bitmap    rtb.Render(drawingVisual);    return rtb;}