Es gibt ungefähr vier Implementierungen, von denen ich mir vorstellen kann, dass sie SVG-Grafiken in eine Delphi-Anwendung laden können.
Einer von denen, von Mattias Andersson, der Autor von FMX.Canvas. VPR , arbeitet mit FireMonkey, aber er ist noch nicht bereit, den Code freizugeben.
Ein zweiter, von Martin Walter , arbeitet mit der VCL, aber der Entwickler hat Delphi verlassen und hat keine Pläne dazu In FireMonkey konvertieren.
Ein dritter, Teil des AGGPAS -Rahmens, arbeitet mit der VCL, aber nicht mit FireMonkey.
Ein viertes ist in Entwicklung von Jason Southwell, aber es wurde noch kein Datum festgelegt.
Also meine Frage: Welchen Weg soll ich nehmen, wenn ich heute eine SVG-Komponente möchte, ohne zu versuchen, das Rad eine fünfte (und wahrscheinlich auch mehr) Zeit neu zu erfinden?
Die SVG-Komponente, an der ich gearbeitet habe, wurde als Teil unserer Apesuite für Firemonkey veröffentlicht.
Ich bin Mattias Andersson - der Autor von FMX.Canvas.VPR; Ich kann sagen, dass ich immer noch aktiv an der SVG-Lösung arbeite. Ich denke, sobald ich die Unterstützung für Farbverläufe und Text-Rendering richtig hinzugefügt habe, kann ich eine erste Beta-Version veröffentlichen. Ich vertraue auf TXMLDocument und das ist ein bisschen restriktiv in was Sie tun dürfen (IMO), also musste ich einige Workarounds erfinden (vielleicht wäre eine bessere Option gewesen, meine eigene XML-Klasse von Grund auf neu zu implementieren). Außerdem musste ich einige Laufzeit-Patches der FireMonkey-Klassen durchführen, damit alles korrekt funktioniert. Der gute Teil ist, dass ich Dinge tatsächlich gemäß den Spezifikationen der SVG-Schnittstelle implementiere.
Sich mit Mattias Andersson in der Entwicklung zu engagieren, ist die beste Option:
SVG FireMonkey
Komponente zur Verfügung (umfangreiche Websuche im Allgemeinen). Sie können auch Chromiumembedded verwenden. Laden Sie einfach die SVG im eingebetteten Browser. Sie können dann Delphi-Code mit Javascript mischen, mischen Sie in HTML und CSS usw.
Auf diese Weise können Sie Chrome einfach überlassen, wie Sie schnell zeichnen können (z. B. ob die GPU-Beschleunigung verwendet wird oder nicht).
Sie erhalten den richtigen svg-Support, können einfach in Ihre Anwendung integriert werden, sind flexibel und es gibt eine Menge Dokumentations- und Beispielcode online.
Tags und Links svg delphi firemonkey image-rendering