WPF 指定图形填充绘制图形

本文介绍了在WPF开发中如何使用DrawingBrush来填充图形,并以斜线样式为例,展示如何通过DrawGeometry方法实现自定义图形的填充效果。
摘要由CSDN通过智能技术生成

    最近在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
WPF(Windows Presentation Foundation)是一种用于创建用户界面的技术,而GDI(Graphics Device Interface)是一种用于绘制图形的API。在WPF中,可以使用GDI来绘制图形,通过使用GDI绘制图形,我们可以实现更加定制化和高级的图形效果。 在WPF中,可以使用GDI绘制各种类型的图形,如直线、矩形、椭圆、多边形等。通过使用GDI,我们可以设置各种样式和属性,例如线条的颜色、线宽、填充颜色等,以及阴影、渐变等效果。使用GDI绘制图形的过程是通过在WPF中创建一个GDI绘图对象,然后调用其相应的方法和属性来实现绘制。 在使用GDI绘制图形时,需要注意GDI是基于像素的,因此绘制图形会受到屏幕分辨率的影响。在WPF中,可以使用Transform矩阵类来实现图形的缩放、平移和旋转等操作,以适应不同分辨率的屏幕。 尽管WPF本身提供了丰富的图形绘制功能,但在某些情况下,使用GDI绘制图形可能会更加灵活和高效。例如,如果需要实现一些特殊的效果,如镜像、叠加等,可以使用GDI来实现。此外,如果需要与现有的GDI代码进行交互,使用GDI绘制图形也是一种不错的选择。 总之,使用WPF和GDI结合绘制图形,可以实现更加丰富和高级的效果。通过使用GDI绘制图形,我们可以更好地控制图形的样式和属性,并且可以适应不同的分辨率和交互需求。这种组合使用可以使我们在图形绘制方面拥有更大的灵活性和创造力。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值