Seite 3 von 4

Re: Scalable Vector Graphics (SVG) in PureBasic benutzen?

Verfasst: 21.03.2018 17:58
von ccode_new
NicTheQuick hat geschrieben:
STARGÅTE hat geschrieben:@All:
Ich würde mich einfach mal ransetzen, ein paar Zeilen zu schreiben, mal sehen wie weit ich komme.
Willst du dir das wirklich antun? Wieso das Rad neu erfinden? Nutz doch, was da ist. Cairo zum Beispiel.
Also eine Portierung der SVG - Fähigkeiten von Cairo (am besten schön als Modul-verpackt) fände ich schon sehr toll.

Man benötig vor allem auch folgende Libs (neben Cairo): librsvg, libgobject

Mit einer Aussage von: "Willst du dir das wirklich antun? " ist hier niemanden geholfen.

Eine Nutzung von SDL mit Cairo scheint auch möglich zu sein.
(Diese: "libSDL_svg-1.1.so" Lib sieht auch sehr nett aus.)

SVG
libSDL_svg

(sh ./autogen.sh -> ./configure -> make install ->testen ;) )
----

Ich bleibe erst einmal bei einem externen Konsolenprogramm.

Dabei ist:
"rsvg-convert test.svg -o new_test.png"

ganz nett.

Aber ich bevorzuge jetzt das Konsolentool von "ImageMagic".
(Das funktioniert auch irgend wie besser und bietet noch viel mehr coole Dinge, hat aber auch wesentlich mehr Abhängigkeiten.)

"convert test.svg new_test.png"

Naja mal sehen....

Re: Scalable Vector Graphics (SVG) in PureBasic benutzen?

Verfasst: 05.04.2018 20:32
von freak
STARGÅTE hat geschrieben:Problem was ich sehe ist, dass die Vector-Lib von PB nicht vollständig ist, und man somit auch "Umgehungen" programmieren muss, wie z.B. der FillingMode: nonzero und evenodd.
Den nonzero (oder auch "winding") mode habe ich für die nächste Version als Flag eingebaut. Der "evenodd" Modus ist der Default in PB.

Re: Scalable Vector Graphics (SVG) in PureBasic benutzen?

Verfasst: 05.04.2018 20:57
von STARGÅTE
Ah danke freak.

Es ist nicht zufällig auch geplant SVGs zu importieren^^?

Aktuell Kämpfe ich noch mit AddPathSegments() weil es so einige "besonderheiten" nicht versteht.

Re: Scalable Vector Graphics (SVG) in PureBasic benutzen?

Verfasst: 05.04.2018 21:47
von freak
Ich würde das gerne machen, da es aber doch einiges an Aufwand ist bin ich mir nicht sicher ob ich das anfangen sollte. Also lieber nicht drauf warten ;)

Leider gibt es dazu keine guten Libs die wir verwenden könnten. Die oben genannte librsvg ist außerhalb von Linux nicht so leicht zu verwenden (wegen GObject und Cairo dependency). Da hat man dann gleich einen ganzen Stapel DLLs am Hals und das passt nicht ganz zu PB. Desshalb müsste es wohl eine Eigenimplementierung sein.

Den Bugreport zu AddPathSegments() habe ich gesehen. Das sollte kein Problem sein das zu beheben.

Re: Scalable Vector Graphics (SVG) in PureBasic benutzen?

Verfasst: 20.04.2019 20:04
von STARGÅTE
Da ich aktuell SVG Grafiken in PB nutzen möchte und Fred/freak den einen Bug in AddPathSegments() gefixed hat,
hab ich mich nun doch mal hingesetzt und ein paar Grundzüge vom SVG-Format für die VectorDrawing-Lib von PB Übersetzt.

Hier gibts den probier-Quellcode mit Demo hinten dran. In den Editor einfach n SVG-Dokument einfügen und gucken ^^
https://www.unionbytes.de/downloads/VectorGraphic.pbi
Aktuell gehen nur wenige Dinge wie Grundformen, Pfade, Painting (Fill & Stroke), Styling (Global & Lokal).

Wenn jemand wünsche hat, was noch mit "erkannt" werden soll, einfach bescheid geben.
Natürlich kann ich auch nur das implimentieren, was mit der VectorDrawing-Lib umsetzbar ist.

Re: Scalable Vector Graphics (SVG) in PureBasic benutzen?

Verfasst: 21.04.2019 08:39
von Nino
STARGÅTE hat geschrieben:Hier gibts den probier-Quellcode mit Demo hinten dran. In den Editor einfach n SVG-Dokument einfügen und gucken ^^
https://www.unionbytes.de/downloads/VectorGraphic.pbi
Aktuell gehen nur wenige Dinge wie Grundformen, Pfade, Painting (Fill & Stroke), Styling (Global & Lokal).
Sehr cool :!: :allright:
Funktioniert hier gut (getestet mit PB 5.71 beta 1 unter Windows 10), vielen Dank!

Kleiner Vorschlag: Ich würde das Modul anders nennen.
"VectorGraphic" ist ein bisschen lang und kann vieles bedeuten.
Warum nicht einfach "SVG"? Das trifft die Sache präziser und ist kürzer.
Oder "SGV" (StarGates Vectorgraphic). :-)

Re: Scalable Vector Graphics (SVG) in PureBasic benutzen?

Verfasst: 21.04.2019 21:38
von Andre
STARGÅTE hat geschrieben: Hier gibts den probier-Quellcode mit Demo hinten dran. In den Editor einfach n SVG-Dokument einfügen und gucken ^^
https://www.unionbytes.de/downloads/VectorGraphic.pbi
Aktuell gehen nur wenige Dinge wie Grundformen, Pfade, Painting (Fill & Stroke), Styling (Global & Lokal).
Coole Sache, STARGÅTE :allright:

Was evtl. noch machbar und nützlich wäre, sind paar Dinge von den hier aufgeführten Beispielen:
https://www.w3schools.com/graphics/svg_examples.asp

z.B. Gradient, Multiline-Text und (wohl eher nicht so einfach machbar) Moving/Rotating Text :)

Re: Scalable Vector Graphics (SVG) in PureBasic benutzen?

Verfasst: 13.02.2023 01:27
von sharkpeter
Hallo Stargate,

auf der Suche nach einer Möglichkeit, svg zu laden, bin ich auf deine Beitragsreihe gestoßen.

Ich habe den Code heruntergeladen und die Anzeige des svg, welches im Beispiel heruntergeladen wird funktioniert auch.

Nun gibt es ja auch eine Procedure, mit der man Laden kann. Das Laden an sich macht kein Problem, nur wird
nichts angezeigt und ich stehe mal wieder auf dem Schlauch, wo ich da etwas übersehen haben könnte. Da du
das sicher recht leicht aufklären kannst, würde ich um eine Hilfestellung dazu bitten, vielleicht am einfachsten
mit einem Codebeispiel.

VG aus der Gruft, Jens

Re: Scalable Vector Graphics (SVG) in PureBasic benutzen?

Verfasst: 23.02.2023 17:09
von Benubi
Ich habe mal gesehen, daß ein SVG Image Plugin (nur lesen) gepostet wurde als die Vektorgrafik Library zu PB hinzu kam (Autor und Link habe ich leider längst vergessen) - vielleicht war das sogar in einem Beispiel Verzeichnis von irgend einer Beta Version.... Keine Ahnung wie vollständig dieses Plugin war, und vermute auch daß es hin und wieder Updates bezüglich der SVG Funktionen alle paar Jahre geben kann. Der oben verlinkte SVG code ist von 2010, daher gehen vermutlich aktuelle SVG's nicht mehr damit und vor einigen Jahren war das dann vermutlich etwas brauchbarer.

Re: Scalable Vector Graphics (SVG) in PureBasic benutzen?

Verfasst: 23.02.2023 20:27
von STARGÅTE
sharkpeter hat geschrieben: 13.02.2023 01:27 Hallo Stargate,

auf der Suche nach einer Möglichkeit, svg zu laden, bin ich auf deine Beitragsreihe gestoßen.

Ich habe den Code heruntergeladen und die Anzeige des svg, welches im Beispiel heruntergeladen wird funktioniert auch.

Nun gibt es ja auch eine Procedure, mit der man Laden kann. Das Laden an sich macht kein Problem, nur wird
nichts angezeigt und ich stehe mal wieder auf dem Schlauch, wo ich da etwas übersehen haben könnte. Da du
das sicher recht leicht aufklären kannst, würde ich um eine Hilfestellung dazu bitten, vielleicht am einfachsten
mit einem Codebeispiel.

VG aus der Gruft, Jens
Oh hab dein Beitrag irgendwie übersehen. Kannst du mir eine Beispiel SVG geben, bei der das laden nicht funktioniert?