Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#11

AW: SVG-Komponente oder Unit für Delphi

  Alt 13. Mär 2023, 11:29
Kann nicht das TPath aus FMX SVG Laden und anzeigen?
In die Data-Property von TPath kann man tatsächlich SVG-XML eintragen. Aber die Komponente behält das XML nicht. Es wird auch nichts angezeigt. Via Code passiert auch nichts:

  Path1.Data.Data := Memo1.Lines.Text; Was mache ich falsch?
Wenn du TPath.PathData im Objektinspektor öffnest kannst du SVG pathdata dort einfügen.
z.b.
Code:
M24,40
C23,40      23,40     22.3,39.3
C21.6,38.6  21.6,38.6 21.6,37.6
C21.6,36.6  21.6,36.6 22.3,35.9
C23,35.2    23,35.2   24,35.2
C25,35.2    25,35.2   25.7,35.9
C26.4,36.6  26.4,36.6 26.4,37.6
C26.4,38.6  26.4,38.6 25.7,39.3
C25,40      25,40     24,40Z
M24,26.4
C23,26.4    23,26.4   22.3,25.7
C21.6,25    21.6,25   21.6,24
C21.6,23    21.6,23   22.3,22.3
C23,21.6    23,21.6   24,21.6
C25,21.6    25,21.6   25.7,22.3
C26.4,23    26.4,23   26.4,24
C26.4,25    26.4,25   25.7,25.7
C25,26.4    25,26.4   24,26.4Z
M24,12.8
C23,12.8    23,12.8   22.3,12.1
C21.6,11.4  21.6,11.4 21.6,10.4
C21.6,9.4   21.6,9.4  22.3,8.7
C23,8       23,8      24,8
C25,8       25,8      25.7,8.7
C26.4,9.4   26.4,9.4  26.4,10.4
C26.4,11.4  26.4,11.4 25.7,12.1
C25,12.8    25,12.8   24,12.8Z
Das ist das more icon(=drei horizontale punkte)
Musst beim TPath control noch Stroke.Color black stellen und Fill.Color auf black stellen und TPath.Wrapmode auf "Fit"
Dann sieht man was man da hat.
Ich habe diese Koordinaten aus der https://fonts.google.com/icons
Datenbank...
leider , stehen die bezier kurven dort als Quadratische bezier Kurven drin (Kommando Q) TPath unterstützt aber nur Cubische bezier kurven....
also muss man Q durch C ersetztem und den ersten parameter doppelt hinschreiben
Beispiel:
Q25,12.8 24,12.8
C25,12.8 25,12.8 24,12.8
sind identisch...aber TPath kann Q nicht...
Was idiotisch ist , denn es gibt an sich nur 6 Malbefehle... oder so in SVG und warum TPath dann genau einen weg lässt ist blöd.
hier sind die Malbefehle von SVG drinn gelistet
https://developer.mozilla.org/en-US/...VG/Attribute/d

Groß = Absolute koordinaten, klein = relative Koordinaten
Code:
    MoveTo: M, m
    LineTo: L, l, H, h, V, v
    Cubic Bézier Curve: C, c, S, s
    Quadratic Bézier Curve: Q, q, T, t
    Elliptical Arc Curve: A, a
    ClosePath: Z, z
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat