Convierte por lotes 5000 vectores a PNG con transparencia

Tengo 5000 imágenes vectoriales (principalmente eps/svg) que necesito convertir a PNG con fondos transparentes. Las imágenes PNG deben tener un máximo de 4000x4000px

¿Alguna idea de cuál sería la mejor manera de hacer esto? La mayoría de los convertidores de imágenes por lotes no admitirán la transparencia y el cambio de tamaño.

La primera parte de la tarea (vector a PNG) podría realizarse con acciones de Illustrator o Photoshop, pero no he encontrado una manera de establecer el tamaño máximo en 4000x4000 manteniendo la relación de aspecto y la resolución máxima que coincidan con los requisitos.

Una opción podría ser dividir la tarea y ejecutar el PNG a través de otra cosa para cambiar su tamaño a un máximo de 4000x4000px... ¿Tal vez Inkscape? Vi que algunas personas podían escribir scripts de Python para realizar tareas similares

el problema es que es difícil establecer el límite de 4000x4000px

Respuestas (1)

Ese sería un trabajo para la herramienta de línea de comandos Image Magick mogrify . El siguiente comando:

mogrify -resize '4000x4000' -format png *.svg

Convertirá todos los archivos SVG en la carpeta actual a PNG manteniendo la relación de aspecto pero con el lado más grande exactamente 4000 píxeles.

En caso de que hayamos definido un fondo blanco no transparente (o de cualquier otro color ) en el SVG de origen, podemos agregar transparencia con:

mogrify -resize '4000x4000' -transparent white -format png *.svg

Nota sobre la línea de comandos de Windows:
necesitamos prefijar los comandos con magicky no debemos usar 'marcas pero nada, o comillas "en su lugar.

Un ejemplo de comando de Windows puede tener este aspecto:

magick mogrify -resize "4000x4000" -transparent white -format png *.svg

La conversión de archivos EPS necesita un valor de densidad (en DPI) además:

magick mogrify -resize "4000x4000" -density 300 -transparent white -format png *.eps
Soy totalmente novato, ¿podría vincular a alguna documentación sobre el uso de ImageMagick con Windows? Leí los documentos en el sitio web oficial, hice exactamente lo que me sugirieron, instalé ImageMagick para Windows e intenté ejecutar los comandos a través de un indicador de CMD o WindowsPowershell, pero siempre dice "el comando mogrify no se reconoce".... Qué me estoy perdiendo?
Parece que se reconoce el comando Convertir, pero aparece un error sobre el parámetro 4000x4000 gyazo.com/e9a8e86909ae9514ba7ffa152aff4b87 .... La ruta de instalación de ImageMagick es la carpeta Programas predeterminada, pero buscar "morgrify" dentro de esa carpeta no devuelve ningún archivo ejecutable gyazo. com/45572dbacc8ecae2b990063f40f92757 .... Acabo de instalar ImageMagick predeterminado para Windows, ¿necesitaba algo más? ¡Gracias!
Esta funcionando !!!! Muchas gracias ! ¡Me acabas de ahorrar DÍAS de trabajo!
Al probar este comando con EPS en lugar de * .svg, aparece un error extraño: gyazo.com/7d4ecc904702e94f0d813588f7bdd45c
El resultado de salida del archivo EPS se ve así: gyazo.com/0d2d313b73d669ef0c92eca9855c23e5 Si abro la misma imagen en Illustrator y la convierto a SVG, guárdela exactamente en la misma carpeta, luego ejecute el script con el parámetro * .svg la salida PNG se ve bien y no hay ningún error... Por lo tanto, no parece un error de ruta o un error con el archivo gráfico... Los SVG se convierten correctamente, pero no los EPS :(
Gracias por la respuesta ! Probé el comando, obtengo un error diferente pero el mismo resultado (png pixelado) gyazo.com/a59aa279458bcc5e9a584212368d7373
Aparentemente, "PNG no es compatible con dpi, solo puntos por centímetro. Por lo tanto, Imagemagick (se supone que) convierte sus 300 dpi al dpc equivalente automáticamente". También probé con diferentes parámetros sin éxito: -unidades PixelsPerCentimeters -colorspace sRGB -density 300
Para la nitidez de la imagen, necesitamos adaptar los valores de densidad para que coincidan con nuestras necesidades... cuanto más, más nítido será el PNG resultante. Para un tamaño de 4000x4000 px, pruebe con una densidad de 1200 o más (pero tenga en cuenta que cuanto mayor sea la densidad, más recursos necesitaremos para calcular el resultado).
Incluso con una densidad de 1200, así es como se ve en comparación con el original: gyazo.com/edc9174796ea8c3130e9fc8e17933528 Los recursos no son un problema, tengo i7 4.4ghz 6950x (10 núcleos) + 64 gb ddr4 + GTX 1080 Titan X + 1 tb SSD 960 Pro
Parece un artefacto difuminado. ¿Podría ser un mapa de bits incrustado en un EPS?
Compartí mi fuente EPS y más detalles aquí: imagemagick.org/discourse-server/…
Aquí está mi intento de una imagen de 4000 px de altura con una densidad de 4800: i.stack.imgur.com/L0Elc.png (recortada debido al tamaño) - me parece bien.