AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi SVG Lade-Problem

Ein Thema von UliBru · begonnen am 26. Jun 2025 · letzter Beitrag vom 27. Jun 2025
Antwort Antwort
Seite 2 von 2     12   
Rollo62

Registriert seit: 15. Mär 2007
4.221 Beiträge
 
Delphi 12 Athens
 
#11

AW: Delphi SVG Lade-Problem

  Alt 26. Jun 2025, 16:34
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

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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.468 Beiträge
 
Delphi 12 Athens
 
#12

AW: Delphi SVG Lade-Problem

  Alt 26. Jun 2025, 17:10
PNG/SVG/uvm. als Ressource in die EXE

Muß ja nicht unbedingt eine TImageList in einer DFM-Ressource sein
... 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
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (26. Jun 2025 um 17:16 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.221 Beiträge
 
Delphi 12 Athens
 
#13

AW: Delphi SVG Lade-Problem

  Alt 26. Jun 2025, 18:02
PNG/SVG/uvm. als Ressource in die EXE

Muß ja nicht unbedingt eine TImageList in einer DFM-Ressource sein
... 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.
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.

Geändert von Rollo62 (26. Jun 2025 um 18:05 Uhr)
  Mit Zitat antworten Zitat
UliBru

Registriert seit: 10. Mai 2010
159 Beiträge
 
Delphi 12 Athens
 
#14

AW: Delphi SVG Lade-Problem

  Alt 27. Jun 2025, 09:04
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.
Er wollte so richtig in Delphi einsteigen. Nun steckt er ganz tief drin ...
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.091 Beiträge
 
Delphi 12 Athens
 
#15

AW: Delphi SVG Lade-Problem

  Alt 27. Jun 2025, 10:06
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.
Grüße
TurboMagic
  Mit Zitat antworten Zitat
UliBru

Registriert seit: 10. Mai 2010
159 Beiträge
 
Delphi 12 Athens
 
#16

AW: Delphi SVG Lade-Problem

  Alt 27. Jun 2025, 10:57
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.
Er wollte so richtig in Delphi einsteigen. Nun steckt er ganz tief drin ...
  Mit Zitat antworten Zitat
Redeemer

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

AW: Delphi SVG Lade-Problem

  Alt 27. Jun 2025, 11:14
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.
Angehängte Grafiken
 
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.221 Beiträge
 
Delphi 12 Athens
 
#18

AW: Delphi SVG Lade-Problem

  Alt 27. Jun 2025, 12:37
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
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.044 Beiträge
 
Delphi 12 Athens
 
#19

AW: Delphi SVG Lade-Problem

  Alt 27. Jun 2025, 16:18
Diesen Thread hätte es viel früher geben sollen!
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:14 Uhr.
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