Einzelnen Beitrag anzeigen

Redeemer

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

AW: Idee: Vektor-Screenshot-Tool (SVG) für Delphi/VCL - Interessenten?

  Alt 22. Mai 2022, 18:45
Ich beleuchte das mal aus Anewendersicht.
Die Idee ist überhaupt nicht für Anwender gedacht.

Wenn ich das richtig verstanden habe, geht es Janni gar nicht um die Anzeige am Bildschirm, sondern eher um sowas wie Druckerzeugnisse
Ich dachte vor allem an Videos, wo man vielleicht an einen Teil des Programms heranzoomen möchte, ohne dass es Pixelmatsch wird.

Aus meiner Sicht würde ich das so umsetzen, quasi in zwei Phasen:
1. Ein "Form-Baum" Ersteller, der die aktuelle Form, Komponenten, Zustände etc. in XML o.ä. speichert in eine Art Seitenbeschreibungssprache
2. Ein "Renderer", der dann diesen Baum entsprechend in SVG rendert

Der 2.) Schritt wäre dann nur einmal pro Komponente ( vielleicht mit etwas Handarbeit ) nötig, aber wie ein Button zu SVG gerendert wird
sollte ich in der Regel nur einmal zu implementieren sein, wenn ansonsten Größe, Positionen, Fonts, Wrap, etc. bekannt sind.
Gefühlt würde ich annehmen dass das nur bei den Standard-Controls relativ leicht machbar wäre.

Das hätte den Vorteil dass man den 2.) Rendererteil mal auswechseln oder leicht erweitern könnte ( z.B. WinXP-Style, Aero-Style, DevExpress, ... ).
Der Vorteil wäre auch dass im 1. Teil dann ein sehr optimiertes XML zur verfügung stände, was wie eine komprimierte "Seitenbeschreibungssprache" funktionieren würde.
Ich würde aber erstmal schauen ob es nicht vielleicht schon passende Seitenbeschreibungssprachen gibt, mit fällt auf Anhieb jetzt nichts dazu ein.

Das müsste meiner Meinung nach funktionieren weil man alles Visuelle am Ende in irgendwelche Primitive auflösen kann ( Polygon, Positionen, Linienstärke, Gradient, Font, Höhe, Breite, ... ).
Aber 1:1 pixelgenau wird das wohl nicht, würde ich aber auch nicht unbedingt benötigen.
Interessanter Ansatz. Bin mir aber nicht sicher, ob das die Sache mit dem Ziel, das erstmal nur für Win10 zu machen, nicht unnötig kompliziert macht, denn mein ursprünglicher Ansatz war der hier:
Es sollen lediglich die auf einem Form enthaltenen Komponenten rekursiv durchlaufen werden und dann von innen nach außen als Vektoren abgespeichert werden.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat