WPF: возможно ли сделать круг с помощью GeometryDrawing? - PullRequest
10 голосов
/ 12 ноября 2010

У меня есть 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 нарисовать круг?

Ответы [ 2 ]

21 голосов
/ 12 ноября 2010
....
<GeometryDrawing Brush="Black">
    <GeometryDrawing.Geometry>
        <EllipseGeometry Center="0,0" RadiusX="1" RadiusY="1" />
    </GeometryDrawing.Geometry>
</GeometryDrawing>

В качестве альтернативы вы также можете использовать Синтаксис разметки пути , чтобы нарисовать две эллиптические дуги (верхняя и нижняя половина круга):

<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" />
10 голосов
/ 21 мая 2012
<Path Stretch="Fill" 
      Fill="Transparent" 
      Stroke="Black" 
      StrokeThickness="5" 
      Data="M 0,0 A 180,180 180 1 1 1,1 Z"/>
...