ImageMagick (RSVG) не будет импортировать изображения в SVG

я пытаюсь использовать ImageMagick для преобразования файлов SVG в PNG.

Файл SVG выглядит следующим образом:


    

Независимо от того, какой метод я использую, конечный результат нет включить изображение. Другие элементы SVG отрисованы правильно.

я пробовал: я

convert test.svg test.png
rsvg-convert -o test.png test.svg

мы попытались изменить путь к изображению, чтобы использовать file: ///, абсолютные пути, удаленные URL-адреса и вариации каждого из них в кодировке URL. Я'я также отформатировал мой файл с и без doctype.I '

Я использую librsvg 2.36.3 и ImageMagick 6.8.0-10. Мне удалось использовать фантомы для их преобразования, но это похоже на излишество для этой задачи.

Пожалуйста помоги!

 projeqht12 авг. 2013 г., 22:06
Вам удалось заставить его работать @KTastrophy?
 Alvin K.23 мая 2013 г., 21:12
@KTastrophy: точная копия + вставка, редактируйте только jpg. Дополнительные две строки а также - Вы пытались использовать другой файл JPG?
 Alvin K.23 мая 2013 г., 09:30
На изображении отсутствуют координаты X, Y.
 Alvin K.26 мая 2013 г., 09:28
@KTastrophy: Ubuntu 12.04 - 64bit. Просто интересно, если изображение повреждено. Можете ли вы попробовать использовать подробный вариант с imagemagick, может дать некоторую полезную информацию
 KTastrophy23 мая 2013 г., 19:41
@AlvinK. Вы включили изображение, как я сделал выше?
 KTastrophy14 авг. 2013 г., 05:06
Убедитесь, что вы используете rsvg.convert -list delegate и убедитесь, что рядом с svg написано rsvg. Какова точная команда вы?пытаешься?
 Erik Dahlström23 мая 2013 г., 10:41
@AlvinK. Координаты x, y являются необязательными, по умолчанию они равны нулю.
 Ian Mackinnon14 апр. 2015 г., 18:27
 KTastrophy24 мая 2013 г., 00:04
@AlvinK. Я'мы пробовали это раньше. Мой DOCTYPE немного отличался, но я только что попробовал ваш. Тот же результат. Какую ОС вы используете?
 projeqht12 авг. 2013 г., 23:05
Странно ... Образ Я 'Я пытаюсь вставить это PNG, но, как вы сказали, изображение неt отображается, в то время как другие объекты SVG. На самом деле я могу'даже не получить прозрачный фон. Если я удаляю элемент изображения SVG, фон все равно становится белым ... есть идеи?
 KTastrophy12 авг. 2013 г., 22:47
@projeqht: Частично. Я смог заставить его работать, только если внедренное изображение было PNG. У меня нетя действительно мог потратить на это достаточно времени, чтобы выяснить, почему. С тех пор яМы пробовали Inkscape и имели значительно лучшие результаты, что и делает, поскольку он основан на SVG.
 Alvin K.23 мая 2013 г., 19:01
@Erik: Спасибо, я исправлюсь. Сегодня утром удалось преобразовать barebone-файлы SVG с Doctype в PNG с ImageMagick 6.6.9-7.

Ответы на вопрос(1)

Для меня установка gtk3 (или, возможно, более конкретно "разделяемой мим-инфо» помог. (и переустановить rsvg после И ИСПОЛЬЗОВАТЬ абсолютно)файл:///" URI для HREF и файл изображения в том же каталоге, что и SVG-файл)

Больше информации (яя до сих пор растерялся, что именно происходит)

Я думаю, что проблема не с rsvg напрямую, а с библиотекой gdk-pixbuf (2)

Я нашел место в коде, где gdk-pixbuf используется для загрузки изображения. Я подтвердил (используя printf debuggin), что это неВыдает ошибку (кажется, что загружает pixbuf просто отлично), даже если URI в href не указывает на файл.

зависимость gtk3 должна быть необходима только для инструмента rsvg-view-3, а не для rsvg, но, похоже, это так (или одна из зависимостей, которые появились при установке gtk3)

Это все еще работает даже после удаления gtk3. Он все еще работает после удаления gtk3, а затем перестройки rsvg (./configure определяет: "gtk3: нет "), так что я полагаю, что это связано с одной из зависимостей, которые были получены при установке gtk3:

атк-2.10.0-1-i686

HiColor-значок-тема-0.12-2-любойGTK-обновление-значок-кэш-2.24.22-1-i686libtasn1-3.3-2-i686P11-кит-0.20.1-1-i686GnuTLS-3.2.5-1-i686libcups-1.7.0-1-i686libxinerama-1.1.3-2-i686разделяемой мим-инфо-1.2-1-i686libgusb-0.1.6-1-i686NSPR-4.10.1-2-i686JS-17.0.0-1-i686polkit-0.112-1-i686разделяемые цветовые профили-0.1.5-1-либоdconf-0.18.0-1-i686colord-1.0.2-2-i686recordproto-1.14.2-1-любойlibxtst-1.2.2-1-i686в-spi2-ядро-2.10.1-1-i686в-spi2-атк-2.10.0-1-i686xkeyboard-конфиг-2.10.1-1-любойlibxkbcommon-0.3.1-1-i686

(Я'оставляю их здесь на случай, еслине та либ, которую я определил в конце)

Поэтому я попытался удалить эти группы в группах, а затем перестроить и протестировать их. Оказывается, тот, кто заставляет это работать ...

* shared-mime-info

 molecular30 окт. 2013 г., 13:12
Помогло логи "#define G_ENABLE_DEBUG " в config.h. Затем rsvg-convert выдает фактическую ошибку о том, что файл не найден.
 molecular30 окт. 2013 г., 13:11
Кроме того, кажется, что он работает только тогда, когда файл изображения находится в том же каталоге, что и файл SVG, даже при использовании полной абсолютной "файл:///..." URI для HREF.

Ваш ответ на вопрос