¿Cómo exportar automáticamente múltiples activos en múltiples resoluciones desde un solo archivo SVG con Inkscape?

Gracias por tus comentarios. Me doy cuenta de que mi redacción inicial podría haber sido confusa, por lo que he intentado aclarar lo que estoy buscando...


Uso Inkscape para diseñar y exportar activos de aplicaciones. Estos recursos se crean en una escala de 4x (que corresponde a xxxhdpiAndroid o @4xiOS). Supongamos que tengo varios íconos vectoriales que tienen 256x256 píxeles dentro de un solo SVG abierto en Inkscape. Necesito exportar cada uno de estos íconos a las siguientes resoluciones:

  • 22,50 ppp ( mdpipara Android) -> 64x64 píxeles
  • 33,75 ppp ( hdpipara Android) -> 96x96 píxeles
  • 45,00 ppp ( xhdpipara Android, @2xpara iOS) -> 128x128 píxeles
  • 67,50 ppp ( xxhdpipara Android, @3xpara iOS) -> 192x192 píxeles

Hacer esto manualmente es realmente tedioso. Mi pregunta es: ¿Existe una manera eficiente de exportar uno o varios objetos específicos dentro de un archivo SVG en múltiples resoluciones desde Inkscape?

Nota : he pirateado una solución funcional con secuencias de comandos que invoca svg-objects-export varias veces, pero es muy lenta e inconveniente, porque necesito adaptar la secuencia de comandos cada vez que agrego un activo al archivo SVG.

Idealmente, estoy buscando una solución desde Inkscape ("Hacer clic y exportar", posiblemente para varios objetos seleccionados a la vez). Si eso no es posible, tomaré la siguiente mejor opción. Una solución de línea de comandos estaría bien, siempre que sea rápida y exporte automáticamente todos los activos en un archivo.

Por razones de calidad, tampoco estoy buscando una solución para reducir los PNG exportados.

¿Ha echado un vistazo a Exportar opciones de línea de comandos ? El indicador --export-dpi puede ayudar.
@PaoloGibellini Buena pista, gracias. El script de Python que mencioné anteriormente también usa esta opción. Sin embargo, parece que tendría que especificar cada objeto manualmente con --export-id. Esperaba encontrar una solución que me permitiera exportar todos los objetos en el SVG. Sin embargo, tal opción no parece existir.
Mmm... tal vez un simple archivo por lotes o un archivo shell podría ser suficiente.
@PaoloGibellini Sí. Tengo un script de shell en funcionamiento que hace eso, pero necesito especificar la ID de cada objeto que quiero exportar. Estoy buscando una solución más simple (y más rápida) que exporte todos los objetos actualmente en el SVG en todas las resoluciones deseadas sin tener que modificar el script.
Ok, entendido, lo siento por el momento no tengo mejores ideas.
No entiendo el problema con la solución de línea de comandos. Por ejemplo, inkscape my-file.svg --export-png=my-file-mdpi.png --export-dpi 22.50me funciona bien. Solo necesitaría crear un script de 4 líneas que exporte en cada tamaño. La secuencia de comandos puede incluso tomar el nombre del archivo como argumento, por lo que es reutilizable, si lo hace regularmente para diferentes imágenes.
@Scribblemacher Gracias. Me doy cuenta de que no dije correctamente que estoy buscando una solución para exportar (múltiples) objetos individuales desde un archivo SVG. He actualizado la pregunta en consecuencia ...
Ah, ahora entiendo. Usar --export-idcomo @KlaasNotFound mencionado me parece una solución perfectamente buena si le da a las áreas un nombre predecible. Personalmente, simplemente lo dividiría en archivos SVG separados y ejecutaría un script a través de cada archivo en un directorio. Si bien este es probablemente un caso de uso común para Inkscape, simplemente no tiene la capacidad de hacer lo que está pidiendo (como es, estoy seguro de que se podría escribir una extensión). Me gustaría saber si Illustrator tiene esta característica.

Respuestas (4)

Cree clones de sus íconos para cada uno de los tamaños adicionales que desee exportar. Déles ID: s en Propiedades del objeto y use la opción de exportación por lotes para guardarlos todos con un solo clic.

clones de paisaje de tinta

Tal vez pruebe cualquiera de estas extensiones (no las probé):

https://inkscape.org/en/~owenfromcanada/%E2%98%85androidvector (concepto diferente, exporta vectores para Android)

https://github.com/ChristianBecker/inkscape-android-export (lo que has estado pidiendo)

(una búsqueda en la web puede encontrar un par más de esos, palabras clave 'extensión Inkscape android')

Hay una Extensión del generador de íconos de la aplicación de Carlos Vázquez, pero parece que el autor abandonó el proyecto y no acepta las solicitudes de incorporación de cambios. La mejor bifurcación hasta ahora: https://github.com/firephreek/inkscape_app_icon_generator

Consulte esta herramienta https://github.com/redwarp/9-patch-resizer Cambiará automáticamente el tamaño de los archivos .png en varias densidades.

"Por razones de calidad, tampoco busco una solución para reducir los PNG exportados".