¿Cómo convertir un SVG en un PNG con ImageMagick?
Tengo un archivo SVG que tiene un tamaño definido de 16x16. Cuando uso el programa de conversión de ImageMagick's para convertirlo en un PNG, entonces obtengo un PNG de 16x16 píxeles que es demasiado pequeño:
convert test.svg test.png
Necesito especificar el tamaño en píxeles del PNG de salida. El parámetro -size
parece ser ignorado, el parámetro -scale
escala el PNG después de haberlo convertido a PNG. El mejor resultado hasta ahora lo obtuve usando el parámetro -density
:
convert -density 1200 test.svg test.png
Pero no estoy satisfecho, porque quiero especificar el tamaño de salida en píxeles sin hacer matemáticas para calcular el valor de la densidad. Así que quiero hacer algo como esto:
convert -setTheOutputSizeOfThePng 1024x1024 test.svg test.png
Entonces, ¿cuál es el parámetro mágico que tengo que usar aquí?
355
3
No he podido obtener buenos resultados con ImageMagick en este caso, pero Inkscape hace un buen trabajo en Linux y Windows:
Aquí'es el resultado de escalar un SVG de 16x16 a un PNG de 200x200 usando este comando:
Sólo como referencia, mi versión de Inkscape (en Ubuntu 12.04) es:
y en Windows 7, es:
No es perfecto, pero cumple su función.
Básicamente, aumenta el DPI lo suficientemente alto (sólo utilizar una conjetura educada / seguro) que el cambio de tamaño se realiza con una calidad adecuada. Yo estaba tratando de encontrar una solución adecuada a esto, pero después de un tiempo decidió que esto era lo suficientemente bueno para mi necesidad actual.
Nota: ¡Usa 200x200! para forzar la resolución dada
por qué no pruebas la línea de comandos de inkscape, este es mi archivo bat para convertir todos los svg de este directorio en png: