我正在寻找一种方法来使用 WPF 中定义的画笔的径向扫描来填充某些东西。我将在一系列图像中分解我想要的东西,以试图使其清晰。
假设我在 WPF 中定义了一个看起来像这样的画笔:
然后我想像这样使用那把刷子的一片:
并将其平铺在一个圆的半径上,如图所示:
最后,为了填充形状,我想将画笔扫过圆圈的所有角度,为我提供类似于以下的结果:
在这种特殊情况下,我试图制作同心圆。我知道我可以使用 RadialGradientBrush 实现这一点,但这是一个令人讨厌的解决方案,因为为了精确控制同心圆的宽度,我需要根据圆的大小更改径向停止的数量。更糟糕的是,如果圆圈大小发生变化,除非我使用某种基于圆圈宽度/高度的转换器,否则径向停止点不会改变。
我希望有一个干净的解决方案来做到这一点,也许是路径或其他东西,但欢迎任何其他制作受控大小的圆形切片的建议。
最佳答案
这个用画笔画几个同心圆怎么样?
<Rectangle>
<Rectangle.Fill>
<DrawingBrush Stretch="Uniform">
<DrawingBrush.Drawing>
<GeometryDrawing>
<GeometryDrawing.Pen>
<Pen Brush="Black" Thickness="1"/>
</GeometryDrawing.Pen>
<GeometryDrawing.Geometry>
<GeometryGroup>
<EllipseGeometry RadiusX="1" RadiusY="1"/>
<EllipseGeometry RadiusX="3" RadiusY="3"/>
<EllipseGeometry RadiusX="5" RadiusY="5"/>
<EllipseGeometry RadiusX="7" RadiusY="7"/>
<EllipseGeometry RadiusX="9" RadiusY="9"/>
<EllipseGeometry RadiusX="11" RadiusY="11"/>
</GeometryGroup>
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingBrush.Drawing>
</DrawingBrush>
</Rectangle.Fill>
</Rectangle>
关于c# - 刷子的径向扫描,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17053213/