首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将笔刷(例如DrawingBrush)转换为BitmapSource?

如何将笔刷(例如DrawingBrush)转换为BitmapSource?
EN

Stack Overflow用户
提问于 2011-08-12 17:23:20
回答 1查看 2.6K关注 0票数 6

我有一个带有一些矢量图形的DrawingBrush。我想将其转换为BitmapSource,作为将其转换为位图的中间步骤。做这件事的(最佳)方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-12 17:30:21

代码语言:javascript
复制
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;
}
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7038079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档