Konvertiert eine geometrie, die für einen Weg in wpf (Mischung ?)
meine Frage ist einfach.
wie kann ich umwandeln dieser code:
<Path>
<Path.Data>
<EllipseGeometry Center="5,4" RadiusX="4" RadiusY="4"/>
</Path.Data>
</Path>
in so etwas wie
<Path Data="M 0 5 L 3 10 10 0"/>
(bitte beachten Sie, dass der zweite erzeugt ein Häkchen, nicht eine ellipse. Es war nur zur illustration, und mein Ziel ist genau das: finden was die Reihenfolge gibt eine ellipse)
edit: ich habe auch gelesen das doc über Bezier-Kurven in xaml und bin voll und ganz bewusst, dass ich einfach zu den richtigen code durch die Berechnung der genauen Punkte der Bezier-Kurve um eine ellipse, aber ich will nicht zu gehen, um die Mühe, dies zu tun Berechnung selbst, so Frage ich mich, ob es einen einfachen Weg, dies zu tun (in der Mischung vielleicht)
- Duplikat von stackoverflow.com/questions/5227830/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser zeigt, wie man es aus dem code. Ich bin mir nicht sicher, ob das wird Ihr problem lösen-oder nicht - Sie sagen "mit blend?" im Titel, und ich bin mir nicht bewusst, eine Möglichkeit, dies zu tun in der Mischung. Aber ich hoffe das kann helfen.
Ist der erste Schritt zum konvertieren des
EllipseGeometry
in einePathGeometry
:Sobald Sie haben eine
PathGeometry
rufen Sie einfach anToString
und es ' ll geben Sie die string-Darstellung:Auf meinem system, es ergibt sich die folgende eher verbose text:
"M9,4C9,6.20913899932317 7.20913899932317,8 5,8 2.79086100067683,8 1,6.20913899932317 1,4 1,1.79086100067683 2.79086100067683,0 5,0 7.20913899932317,0 9,1.79086100067683 9,4 z"
Nun, wenn Sie wollen, um am Ende mit genau das, was Sie bekommen, wenn Sie möchten, dass die fed string in Xaml, müssen Sie einen Schritt mehr, da Xaml von der form, die Sie geliefert haben:
nicht produzieren eine
PathGeometry
. Es erzeugt eineStreamGeometry
, das ist etwas effizienter, aber fest Darstellung des Pfades. (Der wesentliche Unterschied, dass Sie nicht bekommen können, halten der einzelnen Objekte, die die verschiedenen Figuren und segements in einemStreamGeometry
, in der Erwägung, dass können Sie mit einPathGeometry
.StreamGeometry
ist billiger, als Ergebnis.)Können Sie sich einen
StreamGeometry
aus dem Weg text:Und dann, wenn Sie wollen, dass in einem
Path
einfach bauen:Je nachdem, was Ihr genaues Ziel ist, gibt es vielleicht noch effizientere Möglichkeiten, dies zu tun. (
StreamGeometry
ist eine effizientere Darstellung, da es endet die Schaffung von weit weniger Objekte. Aber die Strecke, durch die mein code bekommt, die Darstellung ist nicht sehr effizient, so dass Sie vielleicht besser dran, halt mit derPathGeometry
dass das erste code snippet erzeugt. Alternativ, wenn es Ihr Ziel ist wirklich, nur um den Pfad-text, dann diePathGeometry
ist auch ausreichend für Ihre Bedürfnisse.)