I have a VisualBrush and need this VisualBrush as a Drawing. Anyone knows how this can be done? Thanks for any hint!
问问题
1932 次
2 回答
5
这是 XAML 版本:
<GeometryDrawing Geometry="M0,0 L1,0 1,1 0,1 Z">
<GeometryDrawing.Brush>
<VisualBrush>
...
</VisualBrush>
</GeometryDrawing.Brush>
</GeometryDrawing>
于 2010-06-05T01:47:03.600 回答
2
您的问题实际上没有意义,因为 aVisualBrush
与 a 无关Drawing
(与 a 更有意义DrawingBrush
)。但是,您可以Drawing
通过在VisualBrush
其上绘制来创建一个。类似的东西应该可以工作:
public static Drawing GetDrawing(TileBrush brush)
{
DrawingVisual drawingVisual = new DrawingVisual();
DrawingContext drawingContext = drawingVisual.RenderOpen();
drawingContext.DrawRectangle(brush, new Pen(Brushes.Transparent, 0.0), brush.ViewPort);
drawingContext.Close();
return drawingVisual.Drawing;
}
(这适用于任何继承自 的画笔TileBrush
,而不仅仅是 a VisualBrush
)
于 2010-06-01T18:42:44.897 回答