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;}