2010-11-12 4 views
8

Ho una GeometryDrawing simile come questo:WPF: è possibile eseguire il rendering di una circonferenza utilizzando 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> 

Ora mi piacerebbe disegnare un cerchio, invece, ma posso solo trovare i comandi per spostare, tracciare una linea, non per disegnare un cerchio.

C'è un modo per ottenere GeometryDrawing per disegnare un cerchio?

risposta

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

In alternativa, è anche possibile utilizzare Path Markup Syntax per disegnare due archi ellittici (metà superiore e inferiore del cerchio):

<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

Grazie, che funziona - ora ho solo per trovare un modo per ottenere un cerchio "vuoto" (con un centro trasparente). – Sam

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

Impossibile aggiungere un'istruzione di percorso a una raccolta di disegni (almeno secondo Kaxaml), tuttavia vedo che questa risposta ha 5 upvotes. Dato che la domanda riguarda "GeometryDrawing" e non Paths, questa risposta non è corretta. –