-
Forum: Software-Projekte der Mitglieder
by Redeemer,
30. Okt 2018
Na ja, ich würde ja erwarten, dass die Delphi-Community noch etwas Ehre hat. Mich würde halt interessieren, ob Leute überhaupt Interesse an SVG-Unterstützung für Delphi haben.
Warum informationshalber? Hast du irgendein Projekt entdeckt, dass das nutzt? Die gesamte Doku und alle Kommentare sind auf Deutsch, dadurch sollte sich der Kreis erheblich einschränken.
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
29. Okt 2018
Es gibt Neuigkeiten. Die nächste Version, wann auch immer sie rauskommt, unterstützt u.a.:
vector-effect="non-scaling-stroke"
Halbtransparenz (nur für schwarze und weiße Füllungen, wegen der Arbeitsweise von ROP2)
<image> (keine Transparenz)
<pattern> (keine Transparenz)
abschaltbare Transparenz und Supersampling (wegen Performance und Speicherbedarf)
standardkonformes Verhalten auf...
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
7. Jun 2018
Hi,
die angehängte Datei ist keine SVGTiny-Datei. Meine Unit liest nur SVGTiny, weil sie sonst eine komplette CSS-Selektor-Logik enthalten müsste. Die Unterstützung des Style-Attributs ist hingegen in SVGTiny zwingend vorgeschrieben und wird unterstützt. Vielleicht gibt es irgendwo im Internet einen Konverter von SVG nach SVGTiny. Microsoft hat mal einen auf Github geladen, aber den gibt es...
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
1. Nov 2017
Wieso sollte ich etwas in TRecall speichern, was ich exakt ein einziges Mal verwende?
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
1. Nov 2017
<svg width="28" height="28">
<g fill="yellow" stroke="black">
<rect fill="red" x="3" y="3" width="10" height="10" />
<g fill="blue">
<rect fill="green" x="15" y="3" width="10" height="10" />
<rect x="3" y="15" width="10" height="10" />
</g>
<rect x="15" y="15" width="10" height="10" />
</g>
</svg>
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
1. Nov 2017
Auch bei Dateien, die 2,5 Sekunden zum Laden brauchen, konnte ich keine Millisekunde Unterschied feststellen.
Der Context muss kopiert werden. In den Handle-Methoden werden Stile geladen, die nur den aktuellen Context (und Unteraufrufe) betreffen und danach wieder rückgängig gemacht werden müssen.
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
28. Okt 2017
Kleine Frage mal an die, die die Klasse benutzen: Mit welchen Delphi-Versionen kompiliert die? Müsst ihr was anpassen?
Absolut korrekt, danke. Das erklärt's. Dann hat wohl der Ersteller der Karte die entsprechende Grenze mit irgendwas übergekritzelt, was zu der Zeit, als die Grenze da war, noch nicht unterstützt wurde.
Brachte in meinem Test überhaupt selbst mit einer 6 MiB großen SVG-Datei...
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
20. Okt 2017
Was meinst du mit XY Portable?
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
20. Okt 2017
Habe Sonntag und Montag den path-Befehl ArcTo implementiert und ein paar Fehler behoben. Ich möchte bis auf weiteres auf image verzichten. Damit ist v0.5-beta die (vorerst) finale Version.
Ich möchte wissen, wer die Klasse in Produkten verwendet, die nicht für den Eigenbedarf sind, daher bleibt eine Nachricht an mich Lizenzbedingung. Die Nutzung ist aber kostenlos.
:stupid:
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
14. Okt 2017
So, hier mal ein kleines Update. Oder großes. 0.4-alpha wäre draußen. Kompatibilität hat wieder einen großen Sprung gemacht. Genaues Changelog liegt bei. Link wie zuvor im Anfangspost.
Kleine Info: Das Ding kompiliert wie erwartet ohne Änderungen auch in Vanilla-XE2 und läuft dort etwas schneller (Win32) bzw. merklich langsamer (Win64) als bei 2009. Allerdings ist bereits die Win32-Version des...
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
10. Sep 2017
0.3-alpha ist draußen. Noch ein bisschen schneller (aber unter 10% Gewinn). Link bleibt gleich.
Habe das Create-Problem gelöst, indem ich den benötigten Teil der CreateBlank-Methode kopiert habe.
@TiGü: Nichts hinschreiben und reintroduce sind dasselbe, nur bei ersterem meckert der Compiler.
@jaenicke: Leider ist das im TPNGImage deklariert.
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
1. Sep 2017
inherited CreateBlank ruft Create auf. Wenn ich Create überschreibe, gibt's also 'ne endlose Rekursion und damit einen Stack Overflow.
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
1. Sep 2017
Habe die neue Version 0.2b-alpha um die Lösung mit dem alternativen UTF-8-Encoding ergänzt. Der Download enthält jetzt das Projekt für die Demoanwendung.
In dem Projekt, in dem ich das nutze, habe ich leider ein Problem:
type TSVGImage = class(TPNGImage)
...
end;
...
procedure DoSomething();
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
27. Aug 2017
Welche hast du gelesen? SVG1 und SVG2 sind da komplett unterschiedlich. Der von mir zitierte Teil ist durch „can generate a conforming DOM“ ja schon sehr deutlich, dass eine SVG2-Datei weder XML noch DOM ist. Statt mir kompliziert das dazugehörige XML oder DOM zu generieren, habe ich mir lieber einen Parser geschrieben, der da toleranter ist.
Ich weiß gerade keine Tags, die nur optional...
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
26. Aug 2017
SVG2 ist, ebenso wie HTML4 und HTML5, im Allgemeinen kein gültiges XML. XHTML und ich glaube auch SVG1 waren XML. Für SVG2 steht das nirgendwo ganz konkret, aber im Draft steht:
Anschließend steht da mehr oder weniger, dass SVG nur XML ist, wenn es gültiges XML ist.
Der erste Satz der Spezifikation wurde von SVG1 zu SVG2 von "described in XML" in "based on XML" geändert.
HTML4 und HTML5 sind...
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
26. Aug 2017
Die alte Version dürfte auch in Delphi 2007 kompiliert haben (TEncoding aus TStringList.LoadFromStream rausschmeißen), inzwischen nutzt es mehrere Generics, dementsprechend wird es nicht laufen. Sie dürfte bereits deutlich schneller laufen, wenn man konsequent einfach das Wort "MidStr" durch "Copy" ersetzt. Eventuell brauchst du PNGDelphi.
Den Quelltext der Demo-App werde ich demnächst mal...
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
26. Aug 2017
Ist mit Delphi 2009 geschrieben. Sollte aber mit allen nachfolgenden laufen, da es nur sehr wenige grundlegende Delphifunktionen verwendet und stattdessen viele GDI-API-Calls.
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
26. Aug 2017
Keine Ahnung, warum es bei dir nicht läuft. Habe das mit der Geschwindigkeit korrigiert (bei größeren Dateien locker Faktor 100 und mehr), da ich wegen Bahnchaos seit langer Zeit in einer Stadt festsitze, die es noch nicht mal gibt.
Grund für die Performanceprobleme war praktisch nur eine einzige Funktion: StrUtils.MidStr. Meine eigenen Funktionen waren nicht Schuld. Habe MidStr durch Copy...
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
24. Aug 2017
Was ist mit Layer gemeint?
Keine Ahnung. Dieser Post war nur die Frage, ob überhaupt Interesse an einer ausdrücklich kleinen SVG-Bibliothek besteht.
Ich ahbe auch XE2 hier rumliegen, nutze ich nur recht selten. Was meinst du mit VCL? Das Teil registriert sich als VCL-Bildklasse.
Da FMX ja plattformunabhängig ist, frage ich mich auch, inwieweit das mit GDI machbar sein soll.
Die...
-
Forum: Software-Projekte der Mitglieder
by Redeemer,
23. Aug 2017
Da ich für ein eigenes Projekt SVG-Unterstützung (für Tiny 2.0, statisch) brauchte, aber mit den bestehenden Lösungen nicht zufrieden war (viel zu viele benötigte fremde Pakete), habe ich mir kurzerhand selbst eine geschrieben, die nur mit den Delphi-Canvas-Funktionen und GDI (nicht GDI+) arbeitet. Der Quelltext ist relativ klein. Es werden mein eigener XML-Reader (wegen der vielen nicht zwingend...