最近在WPF开发工作中遇到一个问题,需要用斜线填充指定的图形。
大家知道DrawGeometry可以实现绘制一个图形,它有三个参数。Brush brush, Pen pen, Geometry geometry;我们利用自己创建的DrawingBrush,作为第一个参数,对指定的geometry图形填充我们想要的图案。代码如下:
private DrawingBrush GenerateLeftObliqueLineBrush()
{
GeometryGroup geoGroup = new GeometryGroup();
LineGeometry lineGeo = new LineGeometry(new Point(0, 0), new Point(20, 10));
geoGroup.Children.Add(lineGeo);
GeometryDrawing geoDrawing = new GeometryDrawing(null, _apertureBlockPen, geoGroup);
DrawingBrush leftObliqueLineBrush = new DrawingBrush(geoDrawing);
leftObliqueLineBrush.ViewportUnits = BrushMappingMode.Absolute;
leftObliqueLineBrush.Viewport = new Rect(0, 0, 20, 10);
leftObliqueLineBrush.TileMode = TileMode.Tile;
leftObliqueLineBrush.Stretch = Stretch.None;
return leftObliqueLineBrush;
}
private DrawingBrush GenerateRigh