Jaka biblioteka do grafiki wektorowej

0

Aktualnie do zobrazowania poziomu cieczy w zbiorniku korzystam ze zdjęcia zbiornika, w nim pośrodku wstawiam prostkąt i dodaje do do kanału alfa po czym zapisuję do foramatu png.
Jako że głównie programuję przy użyciu biblioteki Gtk+, naturalne stało się, że do wyświetlania grafiki korzystam z biblioteki Cairo. W zależności od poziomu cieczy rysuję odpowiednich rozmiarów prostokąt, co w połączeniu z kanłem alfa daje wrażenie wskaźnika poziomu.
Do minusów zaliczam:

  • muszę znać rozmiar prostokąta alpha, a co najmniej jego wysokość
  • widać piksele przy skalowaniu

Pomyślałem o formacie SVG, zajrzałem do przykładowego pliku graficznego SVG i wstępnie wydaje się, że to jest to :)
W zawiązku z tym:

  1. Jakiej biblioteki użyć do SVG (chodzi o linuksa) ?
  2. Co się dzieje kiedy w pliku SVG dodałbym swój niestandardowy znacznik XML (jest pomijany, czy plik się nie wczyta) ?
  3. Czy istnieją programy, które z grafiki rastrowej konwertują na wektorową odzwierciedlając w dużym stopniu orginał ?
0

Sam sobie podałeś odpowiedź. Cairo jest nota bene biblioteką do grafiki wektorowej, a nie do rastrowej i w niej masz funkcje zapisu do SVG.

Dokumentacja: http://www.cairographics.org/manual/cairo-SVG-Surfaces.html

0
  1. W Qt jest fajne skalowanie i zapis do SVG. Używasz QGraphicsView w połączeniu z QGraphicsScene.
    Jak chcesz przeskalować, to dajesz: graphicsView.scale(4.0,4.0)

Przykład skalowania tekstu z mojego programu do wypisywania recept:
przed skalowaniem: http://i.imgur.com/6g7cw.png
po skalowaniu: http://i.imgur.com/HGidV.png

Wydaje mi się, że ładnie skaluje :)

  1. Inkscape ma możliwość wektoryzacji obrazów rastrowych. Możesz spróbować, czy Cię to zadowala. Do obrazków z wieloma szczegółami bym tego nie użył, ale jeśli ma być sam jednokolorowy kształt, to można się pokusić i zobaczyć co wyjdzie ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1