WPF:是否可以使用GeometryDrawing渲染圆圈?

Sam*_*Sam 10 wpf geometry drawing

我有一个类似这样的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>
Run Code Online (Sandbox Code Playgroud)

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

有没有办法让GeometryDrawing画一个圆圈?

Hei*_*nzi 21

....
<GeometryDrawing Brush="Black">
    <GeometryDrawing.Geometry>
        <EllipseGeometry Center="0,0" RadiusX="1" RadiusY="1" />
    </GeometryDrawing.Geometry>
</GeometryDrawing>
Run Code Online (Sandbox Code Playgroud)

或者,您也可以使用路径标记语法绘制两个椭圆弧(圆的上半部分和下半部分):

<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" />
Run Code Online (Sandbox Code Playgroud)


小智 10

<Path Stretch="Fill" 
      Fill="Transparent" 
      Stroke="Black" 
      StrokeThickness="5" 
      Data="M 0,0 A 180,180 180 1 1 1,1 Z"/>
Run Code Online (Sandbox Code Playgroud)

  • 无法将路径语句添加到图形集合(至少根据Kaxaml),但我看到此回复有5个赞成票。给出的问题涉及“ GeometryDrawing”而不是“ Paths”,因此此答案不正确。 (2认同)
  • 请注意,这不是一个完整的圆圈。起点 (0,0) 和终点 (1,1) 之间有一个小间隙,通过“Z”命令用直线封闭该间隙。对于一个完整的圆,您需要绘制至少两个线段,例如两个半圆。除此之外,旋转大约 180 度(圆!)简直就是无稽之谈。 (2认同)