14 berichten aan het bekijken - 1 tot 14 (van in totaal 14)
  • Q:
    Bijdrager
    Aaargh

    SVG Library/Framework

    Ik heb even lopen googlen op SVG libaries, maar echt wat vinden kan ik nog niet. Ik heb wat ideetjes in m’n hoofd die ik zou willen uitproggen, en daarbij zou het handig zijn als ik gebruik kon maken van SVG.

    Wat ik zoek:

      [*:f9a0715940] Een SVG library in ObjC, C++ of C die een SVG kan renderen naar een (raw) bitmap
      [*:f9a0715940] Als het even kan cross-platform, dus zowel OS X, Linux als Win32.
      [*:f9a0715940] (L)GPL of compatible licentie
      [/list:u:f9a0715940]
      Kent iemand zoiets ?

      Bijdrager
      LoveBug356

      Cairo

      – Heeft zeer veel backends waaronder een gewone image maar ook Quartz. (en veel andere )
      – is in C maar heeft bindings voor de andere talen zoals : c++, java, perl, python, …
      – Het is een LGPL

      Voldoet aan al je voorwaarden denk ik.
      :lol:

      Bijdrager
      Aaargh
      ”LoveBug356″

      Cairo

      Cairo zelf heeft toch helemaal geen SVG support ? Er is wel een libsvg voor cairo maar dan kan ik haast nog makkelijker de ‘normale’ librsvg gebruiken (is ook niet helemaal ideaal want heeft enige dependencies op GTK). Cairo is meer een soort alternatief voor Quartz.

      Ik hoef de bitmap niet naar het scherm te hebben, hij hoeft alleen maar te renderen naar een buffer. (na de render moet het e.a. nog gecombineerd worden met andere graphics voordat ik ’t naar het scherm blit)

      Bijdrager
      LoveBug356
      ”Aaargh!”
      ”LoveBug356″

      Cairo

      Cairo zelf heeft toch helemaal geen SVG support ? Er is wel een libsvg voor cairo maar dan kan ik haast nog makkelijker de ‘normale’ librsvg gebruiken (is ook niet helemaal ideaal want heeft enige dependencies op GTK). Cairo is meer een soort alternatief voor Quartz.

      Ik hoef de bitmap niet naar het scherm te hebben, hij hoeft alleen maar te renderen naar een buffer. (na de render moet het e.a. nog gecombineerd worden met andere graphics voordat ik ’t naar het scherm blit)

      Met Cairo kun je toch ook gewoon in je geheugen werken of naar bestanden schrijven, ….
      Je kan hiermee toch een svg renderen en daarna nog bewerken endan opslaan in een bestand?

      Bijdrager
      Aaargh
      ”LoveBug356″

      Met Cairo kun je toch ook gewoon in je geheugen werken of naar bestanden schrijven, ….
      Je kan hiermee toch een svg renderen en daarna nog bewerken endan opslaan in een bestand?

      Cairo doet in principe hetzelfde als Quartz, Cairo zelf kan geen SVG renderen, hier kan je een library voor gebruiken maar die kan ook zonder Cairo werken. Cairo vormt dan een nutteloze tussenlaag. Dit hele zakie heeft nogal wat dependencies en is daarom niet echt praktisch.

      Wat ik eigenlijk zoek is een op zichzelf staande library die naar een geheugen buffer rendered.

      Bijdrager
      LoveBug356

      Als ik het dan goed doorheb dan kom je toch toe met die librsvg ?
      Met rsvg_handle_get_pixbuf kan je de pixelbuffer opvragen.

      Wat is cairo ?

      Cairo is a vector graphics library with cross-device output support.
      Currently supported output targets include the X Window System,
      in-memory image buffers, and PostScript. Cairo is designed to produce
      identical output on all output media while taking advantage of display
      hardware acceleration when available.

      Wat is Quartz ?

      Quartz is a powerful graphics system which forms the foundation of the imaging model for Mac OS X. Quartz offers a sophisticated two-dimensional drawing engine and an advanced windowing environment. Quartz’s feature-rich drawing engine leverages the Portable Document Format (PDF) drawing model and offers Mac OS X applications professional-strength drawing functionality. Quartz’s windowing services provide low-level functionality like window buffering, event handling/dispatch as well as dynamically creating the translucency and drop shadow effects found in the Aqua user interface.

      Dus toch niet hetzelfde dacht ik zo. Cairo is zeer nuttig om nog extra bewerkingen te doen met je svg-bestand.

      Bijdrager
      bitsflew

      Je kunt natuurlijk ook de laatste prerelease van webkit gebruiken:

      http://webkit.opendarwin.org/

      Deze ondersteunt sinds enige tiijd naast html ook svg

      Bijdrager
      Aaargh
      ”LoveBug356″

      Als ik het dan goed doorheb dan kom je toch toe met die librsvg ?
      Met rsvg_handle_get_pixbuf kan je de pixelbuffer opvragen.

      Klopt, maar ik zit nog ff te kijken naar hoeveel dependencies dit op gaat leveren. librsvg heeft een aantal andere libraries nodig, maar dit valt waarschijnlijk wel static te compilen wat een hoop gezeik scheelt.

      -knip beschrijvingen Cairo en Quartz-

      Dus toch niet hetzelfde dacht ik zo. Cairo is zeer nuttig om nog extra bewerkingen te doen met je svg-bestand.

      Cairo en Quartz zijn bijna hetzelfde, beide bevatten ze 2D vector teken functies, Quartz gaat alleen wat verder en heeft ook nog windowing functionaliteit etc. maar basically alles wat met Cairo kan, kan ook met Quartz.

      Bijdrager
      Aaargh
      ”bitsflew”

      Je kunt natuurlijk ook de laatste prerelease van webkit gebruiken:

      http://webkit.opendarwin.org/

      Deze ondersteunt sinds enige tiijd naast html ook svg

      Interessant, enig idee wanneer dit in de ‘normale’ OS X beschikbaar is ?

      Inactief
      Anoniem
      ”Aaargh!”

      Klopt, maar ik zit nog ff te kijken naar hoeveel dependencies dit op gaat leveren. librsvg heeft een aantal andere libraries nodig, maar dit valt waarschijnlijk wel static te compilen wat een hoop gezeik scheelt.

      Je kunt ook fink gebruiken om librsvg te installeren, dan hoef je je niet druk te maken om alle dependencies. Scheelt een hoop gezeik:wink:

      Bijdrager
      Aaargh
      ”koen”
      ”Aaargh!”

      Klopt, maar ik zit nog ff te kijken naar hoeveel dependencies dit op gaat leveren. librsvg heeft een aantal andere libraries nodig, maar dit valt waarschijnlijk wel static te compilen wat een hoop gezeik scheelt.

      Je kunt ook fink gebruiken om librsvg te installeren, dan hoef je je niet druk te maken om alle dependencies. Scheelt een hoop gezeik:wink:

      Ik wil eigenlijk m’n OS X installatie niet vervuilen door dat soort dingen system-wide te gaan installeren, bovendien zou de uiteindelijke applicatie ook een self-contained bundle moeten zijn waarvoor geen system-wide libraries hoeven worden geinstalleerd.

      Bijdrager
      bitsflew
      ”Aaargh!”

      [Interessant, enig idee wanneer dit in de ‘normale’ OS X beschikbaar is ?

      Geen idee, maar je kunt die pre-release webkit gewoon naast de huidige versie gebruiken.

      Bijdrager
      bitsflew
      ”Aaargh!”

      bovendien zou de uiteindelijke applicatie ook een self-contained bundle moeten zijn waarvoor geen system-wide libraries hoeven worden geinstalleerd.

      Je kunt de benodigde frameworks en/of libaries ook in de application bundle zetten!

      Inactief
      Anoniem
      ”Aaargh!”

      Ik wil eigenlijk m’n OS X installatie niet vervuilen door dat soort dingen system-wide te gaan installeren, bovendien zou de uiteindelijke applicatie ook een self-contained bundle moeten zijn waarvoor geen system-wide libraries hoeven worden geinstalleerd.

      Fink installeert alles in /sw, dus van systeem vervuiling is geen sprake (behalve wanneer je X11 installeert via fink). Voor een framework-bundle is het inderdaad niet zo’n goed idee.

    14 berichten aan het bekijken - 1 tot 14 (van in totaal 14)

    Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.