SVG и прочая векторная графика

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Slav
Маньяк
Сообщения: 4381
Зарегистрирован: 20 май 2005, 10:08
Откуда: Burnaby

SVG и прочая векторная графика

Сообщение Slav »

Подскажите, в какую сторону копать если имеется задача набросать простенькое приложение (Винды, MSVC, MFC), которое будет открывать и выводить в окно изображение из файлов SVG формата (векторная графика) и позволять накладывать разную самодельную (GDI) графику поверх.
Думается, что нужна библиотечка (желательно бесплатная) с минимальным набором функций:
- открыть файл
- вывести изображение в окно
- скролить и зумить

Библиотека должна поддерживать наиболее полную спецификацию SVG. По этой причине AGG (http://antigrain.com/) не подходит. Имярек таки-да декларирует "SVG viewer" и даже демострирует возможности на прилагаемых примерах, но на деле поддерживает только самые базовые функции SVG. И контрольный файл просто не открывает.

Cairo (http://cairographics.org/) не предлагать, т.к. она только сохраняет в SVG формате. Открывашки нет.

На SVG Implementation (http://www.svgi.org/) заходил раз сто и каждый раз вываливался оттуда одуревший и без результата.

Для Джавы есть, но надо на МFC.

Для СиШарпа есть, но надо на МFC.

Любой браузер окрывает SVG файлы, а нам нунно отдельно в своем приложении.

Во как бывает!
Аватара пользователя
sobomax
Маньяк
Сообщения: 3699
Зарегистрирован: 29 июн 2006, 22:53
Откуда: Vancouver

Re: SVG и прочая векторная графика

Сообщение sobomax »

http://cairographics.org/snapshots/libsvg-0.1.4.tar.gz
libsvg - a library for SVG files

Description
-----------
libsvg provides a parser for SVG content in files or buffers.

Dependencies
------------
libsvg depends on libxml2, and should be easy to build on any
reasonable system.

Usage
-----
libsvg does not do any rendering, but instead provides a
function-based interface that can be used by various rendering
engines. See the declaration of svg_render_engine_t in svg.h.

It is anticipated that the primary uses of libsvg would be in small
libraries that connect the libsvg parser to a rendering engine. Those
libraries, in turn, would provide the capability to applications to
directly render SVG content from files or buffers.

Known uses
----------
At this time, the only known library using libsvg is libsvg-cairo which
uses the cairo graphics library. A port of librsvg, (using libart), to
use libsvg is expected.

History
-------
libsvg was developed by Carl Worth <cworth@isi.edu>
libsvg was based on code from librsvg by Raph Levien <raph@acm.org>
-Maxim
Slav
Маньяк
Сообщения: 4381
Зарегистрирован: 20 май 2005, 10:08
Откуда: Burnaby

Re: SVG и прочая векторная графика

Сообщение Slav »

sobomax писал(а):http://cairographics.org/snapshots/libsvg-0.1.4.tar.gz
libsvg - a library for SVG files

Description
libsvg does not do any rendering, but instead provides a
function-based interface that can be used by various rendering
engines. See the declaration of svg_render_engine_t in svg.h.

It is anticipated that the primary uses of libsvg would be in small
libraries that connect the libsvg parser to a rendering engine. Those
libraries, in turn, would provide the capability to applications to
directly render SVG content from files or buffers.
-Maxim
Спасибо, но эту штуку НЕспециалисту по графике нужно будет доводить до состояния вьювера не одну неделю.
Такого времени в проекте на это нет.

Как запасной вариант ищется PDF вьювер.
Аватара пользователя
Groundhog
Графоман
Сообщения: 5101
Зарегистрирован: 20 авг 2005, 16:36
Откуда: Vancouver

Re: SVG и прочая векторная графика

Сообщение Groundhog »

Возвращаясь к вашим (хочу таких-же баранов) баранам.
Поскольку художественными талантами не обладаю и рисовать что-то там мышой
ненавижу хочу картинки всякие из растера в вектер.
Проблема - Inkscape каждый пиксель тупо в путь запихивает - ни анимацию ничего не сделаеш да и файл раздувается 10 times.
В частности я думаю :
растер --> мозаикировать треугольниками (использую GIMP )
мозаик(треугольный) --> SVG (ImageMagic is used)
Мож кто пробовал нечто подобное - поделитесь установками на GIMP или че там Адобе предлагает для преобразования в мозаик.
Ну и если инструментарий какой мож специальный есть?
Ответить