svg imagemagick librsvg

ImageMagick(RSVG) no importará imágenes en SVG



librsvg (1)

Para mí, me ayudó instalar gtk3 (o probablemente más específicamente "shared-mime-info") (y reinstalar rsvg luego Y usar absoluto "file: ///" uri para href Y tener archivo de imagen en el mismo directorio que archivo svg)

Más información (todavía estoy confundido sobre qué está pasando exactamente):

  • Creo que el problema no es directamente con rsvg, sino con la biblioteca gdk-pixbuf (2)

  • Encontré el lugar en el código donde gdk-pixbuf se usa para cargar la imagen. Confirmé (usando printf debuggin) que no arroja un error (parece cargar pixbuf muy bien) incluso si el uri en el href no apunta a un archivo.

  • la dependencia de gtk3 solo debería ser necesaria para la herramienta rsvg-view-3, no para rsvg, pero parece ser (o una de las dependencias que se obtuvo cuando instalé gtk3)

  • Todavía funciona incluso después de desinstalar gtk3. Incluso funciona después de desinstalar gtk3, luego reconstruir rsvg (./configure detecta: "gtk3: no"), así que supongo que tiene que ver con una de las dependencias que se obtuvo cuando instalé gtk3:

  • atk-2.10.0-1-i686

  • hicolor-icon-theme-0.12-2-any
  • gtk-update-icon-cache-2.24.22-1-i686
  • libtasn1-3.3-2-i686
  • p11-kit-0.20.1-1-i686
  • gnutls-3.2.5-1-i686
  • libcups-1.7.0-1-i686
  • libxinerama-1.1.3-2-i686
  • shared-mime-info-1.2-1-i686
  • libgusb-0.1.6-1-i686
  • nspr-4.10.1-2-i686
  • js-17.0.0-1-i686
  • polkit-0.112-1-i686
  • shared-color-profiles-0.1.5-1-any
  • dconf-0.18.0-1-i686
  • colord-1.0.2-2-i686
  • recordproto-1.14.2-1-any
  • libxtst-1.2.2-1-i686
  • at-spi2-core-2.10.1-1-i686
  • at-spi2-atk-2.10.0-1-i686
  • xkeyboard-config-2.10.1-1-any
  • libxkbcommon-0.3.1-1-i686

(Los dejo aquí en caso de que no sea la lib que identifiqué al final)

Así que traté de eliminar estos deps en grupos y reconstruirlos y probarlos en el medio. Resulta que el que lo hace funcionar es ...

* shared-mime-info

Estoy tratando de usar ImageMagick para convertir archivos SVG a PNG.

El archivo SVG es el siguiente:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> <image xlink:href="picture.jpg" width="200" height="200"/> </svg>

No importa qué método use, el resultado final no incluye la imagen. Otros elementos SVG han renderizado correctamente.

He intentado:

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

He intentado cambiar la ruta de la imagen para usar file: ///, rutas absolutas, URL remotas y variaciones codificadas en url de cada una. También he formateado mi archivo con y sin un doctype.

Estoy usando librsvg 2.36.3 e ImageMagick 6.8.0-10 He podido usar phantomjs para convertirlos pero parece exagerado para esta tarea.

¡Por favor ayuda!