2010-11-12 70 views
8

我有类似这样的GeometryDrawing:WPF:是否可以使用GeometryDrawing渲染一个圆?

<DrawingImage x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type wpfhlp:FokusGroupBox},ResourceId=IconTest}"> 
    <DrawingImage.Drawing> 
    <DrawingGroup> 
     <GeometryDrawing Brush="Black" Geometry="M0,260 L0,600 L110,670 L110,500 L190,550 L190,710 L300,775 L300,430 L150,175"/> 
    </DrawingGroup> 
    </DrawingImage.Drawing> 
</DrawingImage> 

现在,我想画一个圈,而不是,但我只能找到移动,画一条线,没有画圆的命令。

有没有办法让GeometryDrawing绘制一个圆?

回答

17
.... 
<GeometryDrawing Brush="Black"> 
    <GeometryDrawing.Geometry> 
     <EllipseGeometry Center="0,0" RadiusX="1" RadiusY="1" /> 
    </GeometryDrawing.Geometry> 
</GeometryDrawing> 

另外,您还可以使用Path Markup Syntax来绘制两个椭圆弧(圆的上半部和下半部):

<GeometryDrawing Brush="Black" Geometry="M -1,0 A 1,1 0 1 1 1,0 M -1,0 A 1,1 0 1 0 1,0" /> 
+0

谢谢,这工作 - 现在我只拿到找到方式来获得一个“空心”的圆圈(透明的中间)。 – Sam 2010-11-15 09:12:41

7
<Path Stretch="Fill" 
     Fill="Transparent" 
     Stroke="Black" 
     StrokeThickness="5" 
     Data="M 0,0 A 180,180 180 1 1 1,1 Z"/> 
+1

无法将路径语句添加到绘图集合(至少根据Kaxaml),但我看到此回复有5个upvotes。鉴于问题涉及“GeometryDrawing”而不是路径,这个答案是不正确的。 – 2015-08-02 16:24:43

相关问题