2011-08-12 15 views
5

मेरे पास कुछ वेक्टर ग्राफिक्स के साथ एक ड्रॉइंगब्रश है। मैं बिटमैप को प्राप्त करने के लिए इसे मध्यवर्ती चरण के रूप में बिटमैप स्रोत में परिवर्तित करना चाहता हूं। ऐसा करने का सबसे अच्छा तरीका क्या है?मैं ब्रश (उदा। ड्रॉइंगब्रश) से बिटमैप स्रोत में कैसे परिवर्तित करूं?

उत्तर

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; 
} 
संबंधित मुद्दे