2011-08-12 9 views

Respuesta

9
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; 
} 
Cuestiones relacionadas