Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: ppk от Февраль 02, 2009, 21:19



Название: Поддержка SVG
Отправлено: ppk от Февраль 02, 2009, 21:19
Здравствуйте!
Возникла необходимость выбора инструмента для реализации некоторой задачи и в связи с чем вопрос: как на сегодняшний день формат SVG поддерживается QT?
Загрузка в пример SVG Viewer файла SVG (QT 4.4.3), сгенерированного в Inkscape отобразила полную абракадабру.

Интересует следующее: возможно ли нормально отобразить файл используя QT? Если да, то подскажите в какую сторону копать.
Буду признателен всем откликнувшимся.


Название: Re: Поддержка SVG
Отправлено: lit-uriy от Февраль 02, 2009, 21:24
а ты сохрани в стандартный SVG, а не Inkscape SVG, должно нормально быть.


Название: Re: Поддержка SVG
Отправлено: lit-uriy от Февраль 02, 2009, 21:26
о том, что именно поддерживается из стандарта, написано в асистенте (http://doc.trolltech.com/4.4/qtsvg.html) (рус. (http://doc.crossplatform.ru/qt/4.4.3/qtsvg.html))


Название: Re: Поддержка SVG
Отправлено: ppk от Февраль 03, 2009, 00:20
а ты сохрани в стандартный SVG, а не Inkscape SVG, должно нормально быть.

Пробовал и в стандартный, та же ситуация - отображается немного по другому, но все равно неправильно.

о том, что именно поддерживается из стандарта, написано в асистенте (http://doc.trolltech.com/4.4/qtsvg.html) (рус. (http://doc.crossplatform.ru/qt/4.4.3/qtsvg.html))

"Qt поддерживает статическуюфункциональность в рамках SVG 1.2 Tiny".
Файл SVG, который я пробовал использовать в SVG Viewer представляет собой обычный текст и вроде как должен был отображаться нормально, но в итоге получается ерунда, а часть текста вообще пропадает.


Название: Re: Поддержка SVG
Отправлено: ритт от Февраль 03, 2009, 00:49
приложи файлик к посту? я бы тоже хотел посмотреть на "ерунду" :)


Название: Re: Поддержка SVG
Отправлено: ppk от Февраль 03, 2009, 12:17
приложи файлик к посту? я бы тоже хотел посмотреть на "ерунду" :)

Вот - два файла (Изменил расширение с svg на txt, иначе не получается отправить).
Оба нормально отображаются в Inkscape.

При просмотре в SVG Viewer:
testing.svg - исчезли почти все пробелы.
tutorial-elements.ru.svg - заливка большей части отображения черным цветом


Название: Re: Поддержка SVG
Отправлено: QCasper от Февраль 03, 2009, 13:50
Кстати, с файлами, подготовленными с помощью QSvgRenderer'a - с точностью до наоборотная фигня. В Svg Viewer отображается нормально (впрочем я бы сильно удивился если бы было не так), а в inkscape - некорректно. Но сдаётся мне, что это всё-таки скорее Qt не дружит со стандартами, нежели inkscape: я когда файлик сюда аттачил (созданный с помощью QSvgRenderer), в превью диалога открытия он отразился ровно с теми же недостатками, что и в инкскейпе. Не может же быть, чтобы инкскейп и диалог открытия файлов в гноме одинакого косячили с svg.


Название: Re: Поддержка SVG
Отправлено: ppk от Февраль 03, 2009, 15:05
Насколько я понимаю сам формат стандартизован и по идее разночтений быть не должно. А если действительно "QT не дружит со стандартами", может быть есть библиотеки, которые нормально поддерживают SVG?


Название: Re: Поддержка SVG
Отправлено: Rcus от Февраль 03, 2009, 15:30
 ??? у меня ни один из приложенных файлов нормально не открылся.
Опера вот так ругается на последний файл
Код:
Обработать документ как HTML
Ошибка:unexpected end-of-file
Описание:http://www.w3.org/TR/REC-xml/
185: <path fill-rule="evenodd" d="M338.081,104.6 L360.881,104.6 L360.881,126.998 L338.081,126.998 L338.081,104.6"/>
186: <text fill="" fill-opacity="" stroke="none" x="344.969" y="118.297" font-family="Sans Serif" font-size="10pt" font-weight="400" font-style="normal"
187:  >&lt;-</text>
188: <path fill-rule="evenodd" d="M363.881,104.6 L386.681,104.6 L386.681,126.998 L363.881,126.998 L363.88


Название: Re: Поддержка SVG
Отправлено: ритт от Февраль 03, 2009, 15:45
у меня ни один файл даже в опере не открылся. и при скачивании опера как-то определила, что там хмл.
может, заархивировать всё-таки?


Название: Re: Поддержка SVG
Отправлено: ppk от Февраль 03, 2009, 15:58
у меня ни один файл даже в опере не открылся. и при скачивании опера как-то определила, что там хмл.
может, заархивировать всё-таки?

Вот архив. Еще раз проверил в inkscape открывается и в FireFox. FireFox открывает лучше, чем QTшный SVG Viewer, но тоже с ошибками. Оперы нет к сожалению.


Название: Re: Поддержка SVG
Отправлено: ppk от Февраль 03, 2009, 18:25
Все - таки.
Может у кого нибудь был опыт использования SVG вместе с QT?
Или реализовать отображение SVG под QT задача нетривиальная?
Формат вроде довольно популярный - неужели никто не сталкивался?


Название: Re: Поддержка SVG
Отправлено: ритт от Февраль 03, 2009, 19:14
да уж...вменяемо смотрится только под оперой (неудивительно).
кутэ в данный момент не поддерживает часть тэгов из тестовых свг-шек - отсюда и такие страхи
Цитировать
Couldn't resolve property: elements-f07-ru.svgpattern2172
Couldn't resolve property: elements-f07-ru.svgpattern2169
Couldn't resolve property: elements-f07-ru.svgpattern2166
Couldn't resolve property: elements-f13-ru.svgpattern2289
Couldn't resolve property: elements-f15-ru.svgpattern2540
Couldn't resolve property: elements-f15-ru.svgpattern2530
Couldn't resolve property: elements-f15-ru.svgpattern2527
Couldn't resolve property: elements-f15-ru.svgpattern2524
Couldn't resolve property: elements-f15-ru.svgpattern2521
Couldn't resolve property: elements-f15-ru.svgpattern2518
Couldn't resolve property: elements-f15-ru.svgpattern2514
Couldn't resolve property: elements-f15-ru.svgpattern2511
Couldn't resolve property: elements-f15-ru.svgpattern2508
Couldn't resolve property: elements-f15-ru.svgpattern2505
Couldn't resolve property: elements-f15-ru.svgpattern2502
Couldn't resolve property: elements-f15-ru.svgpattern2597
Couldn't resolve property: elements-f15-ru.svgpattern2596
Couldn't resolve property: elements-f15-ru.svgpattern2599
Couldn't resolve property: elements-f15-ru.svgpattern2598
Couldn't resolve property: elements-f15-ru.svgpattern2489[/qoute]

если неободима поддержка полноценного свг, думаю, придётся копать в сторону 3дпати


Название: Re: Поддержка SVG
Отправлено: ppk от Февраль 03, 2009, 19:23
да уж...вменяемо смотрится только под оперой (неудивительно).
кутэ в данный момент не поддерживает часть тэгов из тестовых свг-шек - отсюда и такие страхи

Да, жаль. Может быть к версии 4.5 что-то изменится. Сейчас буду искать другое решение. Спасибо за помощь.


Название: Re: Поддержка SVG
Отправлено: ритт от Февраль 03, 2009, 19:28
нет, к 4.5 _особо_ ничего не изменится - там только различные оптимизации, фиксы и чуть улучшена поддержка свг-тини.
про /*планы на*/ поддержку полноценного свг в кутэ пока ничего не слышал.


Название: Re: Поддержка SVG
Отправлено: QCasper от Февраль 04, 2009, 09:10
Забавно, что та же самая клавиатура, только если кнопки покрасить в цвет, отображается везде нормально :)


Название: Re: Поддержка SVG
Отправлено: Tonal от Февраль 04, 2009, 11:14
Да, жаль. Может быть к версии 4.5 что-то изменится. Сейчас буду искать другое решение. Спасибо за помощь.
Посмотри AGG (http://www.antigrain.com/).
Довольно активно библиотечка развивается.
И автор русский - на RSDN тусуется, если что можно поспрашать. :)


Название: Re: Поддержка SVG
Отправлено: ppk от Февраль 05, 2009, 11:16
Посмотри AGG (http://www.antigrain.com/).
Довольно активно библиотечка развивается.
И автор русский - на RSDN тусуется, если что можно поспрашать. :)
Спасибо за наводку, но видимо мне не подойдет. Картинки из примера рисует отлично, а вот мои примеры даже не отображаются или программа вылетает с ошибкой. Последнее обновление этой библиотеки где-то 2006 год. Может быть попробую найти автора и задать ему вопросы.


Название: Re: Поддержка SVG
Отправлено: Tonal от Февраль 05, 2009, 11:37
Там работает рассылка - она живая, правда английская.
Спроси там.