Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi SVG Lade-Problem (https://www.delphipraxis.net/217420-delphi-svg-lade-problem.html)

Rollo62 26. Jun 2025 16:34

AW: Delphi SVG Lade-Problem
 
Zitat:

Zitat von QuickAndDirty (Beitrag 1549794)
Du hast ja schon eine komplette Turnier Aufstellung am start!

Ja, ich versuche schon seit Jahren von PNG & Co. wegzukommen, weil SVG das ideale Format ist.
Ehrlicherweise habe ich aber immer noch viel mehr PNG in den Apps als SVG :oops:

Was ich aber z.B. auch vermehrt mache, für bestimmte Primitive, ich habe mit den SVG PathData einfach als globale const String Konstanten in ein Unit gelegt und nutze dieses direkt mit TPathData.

So brauche ich noch nicht einmal externe Files, sondern es ist im Binary.
Das geht aber nur mit sowas wie Arrows usw., also recht primitive Kandidaten, die langfristig unverändert bleiben.

Verschiedene Stiles kann ich dann auch einfach durch einbinden verschiedener solcher Units erreichen.

Auf der anderen Seite habe ich dann ein Master-DataSource, in dem ich alle PNG und SVG halte, die ich in allen Projekten standardmäßig brauche.

So habe ich mehrere Level um SVG & PNG möglichst zentral zu verwalten und wiederzuverwenden.

Das bischen mehr Speicheraufwand ist es allemal Wert nur mit einer zentralen "Image" Quelle zu tun zu haben.

himitsu 26. Jun 2025 17:10

AW: Delphi SVG Lade-Problem
 
PNG/SVG/uvm. als Ressource in die EXE :stupid:

Muß ja nicht unbedingt eine TImageList in einer DFM-Ressource sein :duck:
... gibt auch andere Lösungen.




Was mist ist, es gab mal (gibt "eigentlich" noch, aber niemand hat es mehr implementiert, außer dem Internet Explorer)
ein res:// Protokoll, wo man Ressourcen (Bilder/CSS/HTML/sonstwas) direkt als Link, z.B. Browser/TWebBrowser nutzen konnte, DIREKT aus einer EXE/DLL hinaus.
https://learn.microsoft.com/en-us/pr...710218(v=vs.85)

res://C:%5Cirgendwo%5Cmeine.exe/DATA/DasBild.svg

Rollo62 26. Jun 2025 18:02

AW: Delphi SVG Lade-Problem
 
Zitat:

Zitat von himitsu (Beitrag 1549799)
PNG/SVG/uvm. als Ressource in die EXE :stupid:

Muß ja nicht unbedingt eine TImageList in einer DFM-Ressource sein :duck:
... gibt auch andere Lösungen.

Genau, statt dieser frickeligen RAD Editoren kann man das auch wunderbar im Code-Editor bearbeiten,
so dass es auch Updates und sonstige Unwirren übersteht.
Wenn man einmal so ein riesiges Bildergrab versemmelt hat, im RAD Editor, dann weiss man wovon ich rede.

Ja, *.rc ist auch eine schöne Sache, mache ich auch teilweise.
Bei Cross-Platform kommt man dann am Ende wieder mit dem Deployment-Editor in Berührung, was ein Paradebeispiel eines vergurkten RAD-Editors ist, dem ich nur soweit traue, wie ich ihn werfen kann. :-D
Deshalb ist mir eine Code-Lösung immer viel lieber als solche halbherzigen Versuche, die Sache "einfacher" zu machen.

Wenn man sich abseits von Delphi RAD mal umschaut, wie viel effektiver man mit anderen Code-Editoren im Quellcode arbeiten kann, ohne ständig Mausclicks zu machen, dann kommt man ins Grübeln.

UliBru 27. Jun 2025 09:04

AW: Delphi SVG Lade-Problem
 
Nun, eigentlich will ich bloss Buttons mit Bildern versehen, welche dann das Thema HighDPI überstehen.
Wo ich dann z.B. nicht so winzige Bilder sehen muss wie im Standard-TFileOpenDialog.
Und nun habe ich zwar verstanden, dass es mit SVG besser klappen soll. Aber dann braucht es anscheinend doch Fremdkomponenten.
Ok, die von mir verwendete TMS-Komponente scheint fehlerhaft zu sein. Vielleicht sagt mir TMS was dazu.
Wenn ich Skia downloaden will, wird mir eine Beta-Version angezeigt. Kann das bedenkenlos in einer Produktivumgebung verwendet werden?
Oder dann irgendwas wie EtheaDev mit github.
Und wenn ich dann von Emba ein neues Delphi-Update bekomme kann ich alles wieder nachinstallieren.

Ich möchte mich am liebsten um meinen eigenen Programmcode kümmern. Welche simple Lösung gibt es heute, dass ich dann vernünftige Buttons mit Bildern bekomme die dann auch jedem Rechner/Bildschirm vernünftig skalieren? Gibt es sowas überhaupt von Emba selbst? Sowas wie Button platzieren, Bild dazuladen und fertig? Unabhängig davon scheint es ein generelles Problem zu sein. Ich habe gestern mal Inkscape upgedatet. Da muss ich die Buttons per Lupe anschauen, damit man die Symbole erkennt.

TurboMagic 27. Jun 2025 10:06

AW: Delphi SVG Lade-Problem
 
Hallo,

naja, wenn man nicht diese SVG image list von ETH nehmen will kann man immer noch PNGs mit unterschiedlicher Auflösung in eine TImageCollection packen und zur Laufzeit zieht sich die VCL dann die passendste Auflösung und skaliert von der ausgehen.

Das funktioniert eigentlich auch ganz gut, zumal das auch bessere Skalierungsalgorithmen als die normale TImageList benutzt
und hat noch den Vorteil, dass man für kleinere Auflösungen im Detail reduzierte PNGs reinstecken kann.

Bei SVGs wüsste der Renderer ja denke ich nicht, wass er dann weglassen darf, wenn es in der kleineren Auflösung zu
detailliert ist.

UliBru 27. Jun 2025 10:57

AW: Delphi SVG Lade-Problem
 
Zitat:

Zitat von TurboMagic (Beitrag 1549814)
naja, wenn man nicht diese SVG image list von ETH nehmen will kann man immer noch PNGs mit unterschiedlicher Auflösung in eine TImageCollection packen und zur Laufzeit zieht sich die VCL dann die passendste Auflösung und skaliert von der ausgehend.

Ich habe jetzt mal die SVGImageList von der ETH installiert, das funktioniert. Mein Ausgangsproblem wird hier richtig dargestellt.
Hoffentlich komme ich da nun mit weiter klar.

Redeemer 27. Jun 2025 11:14

AW: Delphi SVG Lade-Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von QuickAndDirty (Beitrag 1549794)
Zitat:

Zitat von Rollo62 (Beitrag 1549792)
Zitat:

Zitat von QuickAndDirty (Beitrag 1549790)
Und es gibt im internet einen automatischen shape to path converter!
https://thednp.github.io/svg-path-co...r/convert.html

Danke sehr, wieder ein neuer Converter.

Der kommt aber anscheinend nicht so gut klar mit komplexeren SVG, wenn ich mal so ein Beispiel reinwerfe

Delphi-Quellcode:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <g stroke="#1c1308" stroke-width="1">
  <path d="M32,29l-11-1c-25-1-20,0-18,20c2,8,0,13,10,13z" fill="#53381a"/>
  <path d="M36,31h-11c-25-1-20,0-18,20c2,8,1,12,12,9z" fill="#8a5b28"/>
  <path d="M32,25c5-10,3-12,18-10c20,5,20,6,35,6c10,1,20,4,10,16l-11,20h-66z" fill="#454f2e"/>
  <path d="M13,53v7l45,18v-7zM32,25c5-10,3-12,15-8c20,6,10,6,31,6c10,1,18,4,10,16l-11,20l-56-9z" fill="#76894c"/>
  <path d="M13,53c-3-10,2-9,10-10c10-1,37,7,20,7c-12,1-12,0-12,10zM31,60c-2-14,13-8,20-10l7,3v18z" fill="#8e996c"/>
  <path d="M57,62c1,20,0,19,18,19c20,0,17,0,19-17c0-17-1-16-18-18c-20-1-19,0-19,16z" fill="#53381a"/>
  <path d="M60,64c1,20,0,19,18,19c20,0,17,0,19-17c0-17-1-16-18-18c-20-1-19,0-19,16z" fill="#8a5b28"/>
  </g>
</svg>
Hiermit bekomme ich schon mehr Info
https://shapeshifter.design/
https://svg2vector.com/
https://yqnn.github.io/svg-path-editor/
https://boxy-svg.com/

Es ist aber immer gut, wenn man zig Online-Tools zum gegeneinander Testen hat.

Du hast ja schon eine komplette Turnier Aufstellung am start!

Ansonsten gibt's noch den RedeemerSVG von mir. Das Sofa ist kein Problem für ihn. Und er ist wirklich winzig.

Rollo62 27. Jun 2025 12:37

AW: Delphi SVG Lade-Problem
 
Zitat:

Zitat von Redeemer (Beitrag 1549819)
Ansonsten gibt's noch den RedeemerSVG von mir. Das Sofa ist kein Problem für ihn. Und er ist wirklich winzig.

Stimmt, das hatte ich noch ganz vergessen, das ist auch super für Delphi :oops:

QuickAndDirty 27. Jun 2025 16:18

AW: Delphi SVG Lade-Problem
 
Diesen Thread hätte es viel früher geben sollen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 Uhr.
Seite 2 von 2     12   

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