Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Idee: Vektor-Screenshot-Tool (SVG) für Delphi/VCL - Interessenten? (https://www.delphipraxis.net/210633-idee-vektor-screenshot-tool-svg-fuer-delphi-vcl-interessenten.html)

Redeemer 19. Mai 2022 19:48

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

Das ist jetzt eine seltsame Frage, die in kein Forum so richtig passt. Ich habe eine Projektidee und wollte mal fragen, ob Interesse an Nutzung und Erweiterung besteht.

Ich überlege, eine Unit zu stellen, mit der man von einem Delphi-VCL-Programm einen Vektor-Screenshot im SVG-Format erstellen kann, um qualitativ hochwertige und einfach lokalisierbare Dokumentation zu erstellen. In meiner Vorstellung würde die Unit bei Einbindung in ein Projekt eine zusätzliche Form erstellen, die einen Button hat, mit dem man einen Screenshot der zuletzt davor aktivierten anderen Form im aktuellen Zustand macht. Alternative Zustände (Hover, gedrückt, Checkboxen), Popup/DropdownMenus, Untermenüs, ComboBox-Listen etc. würden als unsichtbare Objekte gespeichert, die man im Vektoreditor seines Vertrauens einblenden könnte. Die Unit müsste jeden zu unterstützende TControl-Erben einzeln unterstützen. Ich benutze nur die Komponenten aus dem Standard- und Win32-Tab, weshalb ich auch nur diese selbst erstellen würde. Eine einfache Erweiterbarkeit um weitere TControl-Erben (die entsprechenden sie behandelnden Klassen könnten sich registrieren) und neuere Delphi-Versionen ist selbstverständlich, weshalb das Projekt Open Source auf Github wandern würde. Für die Standard- und Win32-Steuerelemente ergibt eine Vererbung meiner Meinung nach keinen Sinn, da sie alle komplett unterschiedlich aussehen. Bei anderen Steuerlementen ergibt es möglicherweise Sinn, ich weiß aber nicht, wie man das umsetzen könnte.
Man müsste sich zudem die Optik des Betriebssystems mehr oder weniger hardcoden (im Sinne von: nicht von irgendwelchen User-Skins übernehmen, da der Zugriff hierauf eher kompliziert ist). Da könnte man (außer für die Größe von Fensterrahmen) was mit CSS machen oder sich auf ein bestimmtes Betriebssystem festlegen (das wäre dann Win10, Win11 ist ja derzeit noch in der early pre-Alpha).

Ein vergleichbares Projekt gibt es (unabhängig von meiner Idee) für GTK. Die Sache scheint auch nach meiner Einschätzung eher Toolkit-gebunden zu sein und nicht generell z.B. für Win32 machbar.

Ich freue mich auf eure Meinungen.

Der schöne Günther 19. Mai 2022 20:00

AW: Idee: Vektor-Screenshot-Tool (SVG) für Delphi/VCL - Interessenten?
 
Ich habe noch nie etwas gesehen was die klassische Win32-Optik mit ihren Common Controls (was die VCL ja ist) in eine Vektorgrafik rendert. Nicht einmal im Ansatz - Das ist immer Pixelgrafik. Vielleicht ist das ja schon einmal ein Anhaltspunkt, wie herausfordernd die Umsetzung wäre.

Natürlich wäre das ein tolles Projekt, dringende Notwendigkeit habe ich aber ehrlich gesagt noch nicht gesehen, das zwingend als Vektorgrafik zu machen: Grade wenn man seine VCL-Oberfläche schon High Dpi-fähig hat, ein "normaler" Screenshot hat eigentlich immer gereicht. Verpasst man dem Bild noch einen schönen Schatten-Effekt und niemand kann meckern.

venice2 19. Mai 2022 20:47

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

Man müsste sich zudem die Optik des Betriebssystems mehr oder weniger hardcoden
Denke ich nicht.
Die Daten Grafiken sind alle in der UxTheme enthalten. Wäre vielleicht ein Ansatz.

Siehe DrawThemeBackground.

Redeemer 19. Mai 2022 21:02

AW: Idee: Vektor-Screenshot-Tool (SVG) für Delphi/VCL - Interessenten?
 
Das sind aber Rastergrafiken, oder?

venice2 19. Mai 2022 21:06

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

Zitat von Redeemer (Beitrag 1506101)
Das sind aber Rastergrafiken, oder?

Ja.

So wie ich verstanden habe möchtest du diese doch in Vektorgrafik konvertieren oder?
Oder ist das ein Problem Bitmap nach SVG umzulegen? Habe es selbst noch nicht versucht.
Samples

Redeemer 19. Mai 2022 21:51

AW: Idee: Vektor-Screenshot-Tool (SVG) für Delphi/VCL - Interessenten?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Man kann Rastergrafiken nicht in Vektorgrafiken konvertieren.
(Zumindest nicht, wenn das gut aussehen soll.)
Man kann Vektorgrafiken nur von Grund auf erstellen. Und das möchte ich. Das bietet sich auch erst seit Windows 8 an, weil davor der Detailreichtum zu groß war: Aero oder Luna? keine Chance! Bei Windows 10 malst du für einen Button ein einfarbiges Rechteck mit einfarbigem Rahmen und packst einen Text drauf. Fertig. Natürlich kannst du versuchen, einen Aero- oder Luna-Button annähernd mit Gradients und Effekten nachzubauen – aber im Vergleich zu Windows 10 ist das sehr aufwändig.

Angehängt mal ein Ausschnitt aus einem Beispiel, das ich aber manuell erstellt habe, in 6-facher Vergrößerung.

venice2 19. Mai 2022 21:56

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

Man kann Rastergrafiken nicht in Vektorgrafiken konvertieren.
Ok.. War auch nur ein Hinweis um dir das Hardcoden zu ersparen da in der UxTheme halt System abhängig die Grafiken alle vorhanden sind.
Wenn es nicht geht hat sich das erledigt.. Sorry

TiGü 20. Mai 2022 13:12

AW: Idee: Vektor-Screenshot-Tool (SVG) für Delphi/VCL - Interessenten?
 
Technisch bestimmt interessant umzusetzen, aber ich persönlich habe dafür auch keinen Bedarf.
Und wenn - sagen wir mal - bei Windows 12 wieder Farbverläufe Einzug halten (alles in der Mode kommt wieder), dann wird es wieder haarig.

Könntest du denn ggf. die GDI Draw Commands eines Fensters (damit wird doch so das Ganze gezeichnet, oder?) ggf. einfach recorden und dann transformieren auf einen Vektorformat?

Rolf Frei 20. Mai 2022 13:14

AW: Idee: Vektor-Screenshot-Tool (SVG) für Delphi/VCL - Interessenten?
 
Das Projekt tönt sehr interessant, aber einen Bedarf sehe ich im Moment leider auch nicht. Wenn ich ein Screenshot einer Form brauche, reicht auch eine Rastergrafik vollkommen. Wenn diese Komponente wesentlich mehr bietet als nur einen einfachen Screenshot, z.B. selber malen, also eine Art SVG-Paintbox, sähe es deutlich sinnnvoller aus für mich.

@TiGü
Die ganzen Fenstersymbole, Rahmen, Hintergründe, etc. werde nicht durch Winbdows gezeichnet sondern sind alles Rastergrafiken, die in den Themes fetig hinterlegt sind.

Uwe Raabe 20. Mai 2022 13:47

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

Zitat von TiGü (Beitrag 1506107)
Und wenn - sagen wir mal - bei Windows 12 wieder Farbverläufe Einzug halten (alles in der Mode kommt wieder), dann wird es wieder haarig.

Theoretisch kann SVG auch Farbverläufe. Lediglich die Erzeugung - insbesondere eine automatische - wäre schon sehr anspruchsvoll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:32 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz