Seite 1 von 4

Scalable Vector Graphics (SVG) in PureBasic benutzen?

Verfasst: 04.06.2010 02:59
von STARGÅTE
Tachchen,

Da ich seit längerem nach einer möglichkeit suche Bilder bzw. "Zeichen" in egal welcher größe in einer guten Qualität darstellen zu können, ohne dafür n "riesen" Image zu erstellen, welches dann unter "enormen" Zeitaufwand wieder kleiner gemacht wird, findet das SVG-Format bei mir immer mehr gefallen.

Nun wollte ich hier fragen ob sich damit schon mal jemand befasst hat.
Ich suche halt möglichkeiten das Format in PureBasic zu nutzen, über ein Include, DLL, Lib ....

Sodass ich dann zB eine vektorgrafik laden kann und so anzeigen lasse:

Code: Alles auswählen

LoadSVG(1, "Stern.svg")
StartDrawing(ScreenOutput())
  DrawSVG(1, x, y, Width, Height)
StopDrawing()
Die Versuche selber so ein Format zu erstellen, scheiterten im Endeffekt an einem zu großen Rechenaufwand mit PB-Mitteln das Bild als Image zu erstellen.

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

Verfasst: 04.06.2010 06:58
von Nino
Hi,

eine Antwort habe ich leider nicht. Aber ich fände es auch toll, wenn man SVG mit PureBasic benutzen könnte.

Grüße, Nino

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

Verfasst: 04.06.2010 08:25
von Thorium
Such mal im englischen Forum, da hat jemand vor garnicht mal so langer Zeit ein SVG include gepostet.

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

Verfasst: 04.06.2010 09:07
von Morty
Nur der Vollständigkeit halber, hier der entsprechende Link: http://www.purebasic.fr/english/viewtop ... 12&t=40540

Morty

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

Verfasst: 04.06.2010 11:19
von STARGÅTE
Danke für den Link,
werde es mir mal angucken,
aber wenn ich jetzt schon sehe, wie er einen Winkel errechnet:

Code: Alles auswählen

Procedure.F EArc_GetOrientation(xCenter.F, yCenter.F, xSource.F, ySource.F)
    Protected.F xDelta, yDelta
    Protected.F Rho, Alpha
    xDelta = xSource - xCenter
    yDelta = ySource - yCenter
    Rho = Sqr((xDelta * xDelta) + (yDelta * yDelta) )
    Alpha = ACos(xDelta / Rho)
    If yDelta > 0.
      Alpha = - Alpha
    EndIf
    ProcedureReturn Alpha
EndProcedure
hab ich noch n menge zu verbessern :lol:

Code: Alles auswählen

Procedure.F EArc_GetOrientation2(xCenter.F, yCenter.F, xSource.F, ySource.F)
    ProcedureReturn ATan2(xSource-xCenter, yCenter-ySource)
EndProcedure

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

Verfasst: 04.06.2010 12:48
von STARGÅTE
Muss mich korrigieren.

Ich dachte nach ein paar änderungen läuft der Code, aber es kommen immer mehr Fehler,
Fehlende Variablen, Proceduren, Macros usw.

:freak:

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

Verfasst: 04.06.2010 13:02
von Morty
Hab's selber nie ausprobiert. Wenn ich's schaffe setz' ich mich heute Abend mal dran, wenn die Kids im Bett liegen :)

Morty

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

Verfasst: 04.06.2010 18:35
von edel
Du kannst noch WMF (bzw EMF) benutzen.

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

Verfasst: 04.06.2010 21:37
von Morty
Oh man, was ist das für ein Code? Da geht ja garnichts.

Ich hab jetzt angefangen und fehlende Funktionen nachgebildet. Aber nach über 40 Minuten war immer noch kein Ende in Sicht. Daher lass ich es wohl auch erstmal sein. Das war wohl eher ein Schuss in den Ofen.

Morty

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

Verfasst: 04.06.2010 21:41
von STARGÅTE
Jo, vermutlich weil er in seinem PB eigene Libs benutzt.

@edel, ein Link wäre nicht schlecht, denn die Suche wirft da n menge Mist ^^