Einzelnen Beitrag anzeigen

Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.051 Beiträge
 
Delphi 2009 Professional
 
#6

AW: Ein bischen CAD-Anzeige (aka WMF in FMX benutzen)

  Alt 9. Apr 2020, 22:04
SVG hatte ich als Grundidee auch schon, TPath soll ja da schon ein bischen was können, eine meiner Konturen konnte ich damit anzeigen, nur das mit dem Nullpunkt war noch nicht so doll.
Was genau meinst du mit Nullpunkt?

Dann habe ich mal ein anderes Werkzeug nach SVG konvertiert, das kann TPath aber wohl nicht ab:
Code:
<g id="Ebene_x0020_1">
  <metadata id="CorelCorpID_0Corel-Layer"/>
  <polygon class="fil0 str0" points="1.6,309.5 1.6,284.5 -1.6,284.5 -1.6,309.5 "/>
  <polygon class="fil0 str0" points="-8.8,284.5 -5.6,284.5 -5.6,309.5 -8.8,309.5 "/>
  <polygon class="fil0 str0" points="5.6,309.5 5.6,284.5 8.8,284.5 8.8,309.5 "/>
 </g>
Was genau scheitert da denn? Bei einem <polygon> -Tag kannst du einfach den Inhalt von points nehmen, ein M davor setzen und ein z ans Ende und dann so tun, als wäre das das d -Attribut eines <path> -Tags.
Delphi-Quellcode:
  if XML.CurrentTag = 'polygonthen
  begin
    if XML.GetAttribute('points', d) then
    DrawPoly(Context, 'M' + d + 'Z');
  end
Bei Polyline dasselbe nur ohne z .
Ich hab mal 2017 einen relativ kompletten SVG-Renderer geschrieben, der SVG Tiny in GDI-Calls umsetzt. Bringt dir also erstmal nichts. Wenn ich mir den im vorherigen Thread verlinkten DP-EN-Thread ansehe, ist mein Path-Dekoder (DrawPoly im vorherigen Code-Block) dem von TPath zwar überlegen, aber sehr ähnlich. Fehlende Features könnte man also auch ergänzen. Dein obiger Code ist übrigens nicht SVG Tiny, dessen größter Unterschied zu SVG ist, dass es kein id und class kennt.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat