C ++ - Zeichnungsbögen in Direct2D-Geräten

  • Ich muss einen Bogen in einem D2D-Gerät zeichnen. Gibt es eine Funktion, die dies ausführt (etwa DrawLine oder DrawEllipse)? Ansonsten habe ich gesehen, dass es die ArcSegment-Funktion gibt das gibt eine D2D1_ARC_SEGMENT-Struktur zurück, wie kann ich das zeichnen?

    28 January 2012
    user1169770
2 answers
  • Die D2D1_ARC_SEGMENT kann beim Füllen einer Pfadgeometrie verwendet werden (ID2D1PathGeometry). Wenn Sie den gewünschten Bogen zum Pfad hinzugefügt haben, können Sie ihn mit ID2D1RenderTarget::Draw/FillGeometry().

    zeichnen
    14 April 2012
    Rick Brewster
  • Ich bin mit Direct2D nicht so vertraut, dass mir keine bestimmte Funktion bekannt ist, mit der Sie dies tun könnten, aber Sie werden nicht daran gehindert, Ihre eigene Funktion zu implementieren, um das zu erreichen, was Sie möchten.

    Ich empfehle einen Blick auf Splines und wie sie berechnet werden Wiki

    scheint ein guter Anfang zu sein. Sie können dann Ihren Arc mit der Formel und mehreren DrawLine-Aufrufen erstellen.

    Bearbeiten: oder sogar dies kann Ihnen besser dienen.

    28 January 2012
    rtlayzell