Pregunta

He dibujado un icono en Inkscape , pero ahora me gustaría modificarlo programáticamente (cambie los colores ligeramente para diferentes estados de icono) y conviértalo a un archivo de formato PNG en mosaico que contenga múltiples iconos con diferentes colores. Conozco las opciones --export-png de Inkscape, pero no puedo ver una manera de cambiar la imagen y / o exportar varias veces a diferentes partes de la imagen combinada.

¿Hay alguna buena herramienta orientada al usuario para manipular mediante programación las imágenes, o tengo que profundizar en GD o incluso modificar manualmente el SVG XML?

¿Fue útil?

Solución

Aunque no estoy 100% seguro si cumple con su solicitud de orientación al usuario, le recomiendo que eche un vistazo a www.imagemagick.org . He utilizado con éxito su " convertir " utilidad para convertir scripts de svg a png y también para agregar colores de fondo personalizados.

Otros consejos

Utilizo dos conjuntos simples de herramientas para hacer esto para un webcomic:

  • Scripts básicos de Perl / PHP / Ruby para modificar el XML SVG (también hay una gran biblioteca de Perl, pero creo que no es necesaria para los cambios básicos que necesito)
  • Ejecute Inkscape en sí desde la línea de comandos para representar el SVG en PNG. La representación SVG de Inkscape es, con mucho, la mejor que he encontrado.

Nota: Inkscape se puede instalar en un servidor web con un poco de trabajo y se puede llamar desde un CGI (perl, php, etc.), aunque es lento (por lo que debe almacenar en caché los resultados).

Llamarlo desde la línea de comandos en un directorio de archivos SVG:

find -name "*svg" -exec inkscape -z --file={} \ 
    --export-png=$OUTPUT{}.png --export-width=640 --vacuum-defs \;
  • Encuentra todos los archivos SVG
  • Ejecuta Inkscape para representar cada archivo
  • El ancho está limitado a 640 px
  • Los archivos SVG se limpian (es bueno hacerlo antes de registrarse en svn / git)

También puede estar interesado en Batik , un motor de renderizado SVG escrito en Java. Funciona bien en el lado del servidor y es bastante autónomo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top