GDI+ SVG laden?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

GDI+ SVG laden?

Beitrag von Lambda »

Gibt es eine Möglichkeit SVG Dateien mit GDI+ zu laden?
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: GDI+ SVG laden?

Beitrag von STARGÅTE »

SVG-Dateien sind XML-Datein, das heißt du kannst sie mit den XML-Befehlen von PB laden.

Wenn es dir aber um das anzeigen geht (was nicht aus der frage heraus geht), dann musst du diese XML-Daten auch lesen und dann die jeweilen Funktionen von GDI+ aufrufen (Line, Circle, Box, Path, usw.)
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: GDI+ SVG laden?

Beitrag von Lambda »

Gerade um die Darstellung geht es mir. Eine SVG mit zb GdipLoadSVG zu laden und dann wie ein Bild zu zeichnen.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: GDI+ SVG laden?

Beitrag von ts-soft »

Vielleicht hilft dies hier weiter: http://www.purebasic.fr/english/viewtop ... 12&t=40540

SVG als Bitmap zu nutzen macht keinerlei Sinn.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: GDI+ SVG laden?

Beitrag von Lambda »

Es soll nicht als Bitmap gezeichnet werden. Bzw sollte es frei skalierbar ohne Qualitätsverlust sein.
PureSVG - soweit war ich schon ^^ es kann aber nur im Browser dargestellt werden.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: GDI+ SVG laden?

Beitrag von ts-soft »

cOoki3druqs hat geschrieben:es kann aber nur im Browser dargestellt werden.
Die einzig andere Möglichkeit wäre das Zeichnen auf ein CanvasGadget, siehe dazu den
Beitrag von STARGÅTE.
Automatik-Trick kenne ich nicht <)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: GDI+ SVG laden?

Beitrag von STARGÅTE »

also GDI+ selbst, bietet so eine Möglichkeit (ala GdipDrawSVG(File, X, Y, Width, Height)), soweit ich weiß, nicht an.
GDI+ kann aber alle möglichen Bestandteile einer SVG darstellen.

Das heißt du musst entweder selber das SVG lesen und die jeweiligen GDI+ Befehle ausführen, oder in Plugin füf GDI+ suchen, welches diese Schnittstelle gibt.

Ansonsten gibt es natürlich noch ein paar DLLs im Internet die zum rendern von SVGs sind.

Ich weiß ja nicht wie "komplex" eine SVGs sind, aber wenn nur Lines und Circles vorkommen ist es wirklich leicht, das selbst zu schreiben, dann gehst du halt den XML-Baum durch (PB-Befehle) und übergibt GDI+ die Attribute.
Wenn es aber auch Filter enthält, weiß ich garnicht, ob GDI+ diese auch anbietet.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: GDI+ SVG laden?

Beitrag von Lambda »

Da werde ich dann eine DLL suchen müssen. Damit beliebige mit vollem Umfang dargestellt werden können brauch ich auch die volle Unterstützung. Daher hab ich gehofft das GDI+, wenn es schon die Grundfunktionen gibt, das möglich macht.
Antworten