Si anhelabas una forma rápida de convertir un puñado de imágenes (o más) de un formato a otro, tengo un regalo para ti. Utilizo este script bash rápido y sucio principalmente para convertir archivos PNG a JPG, pero se puede modificar y ajustar fácilmente para hacer otras cosas. Lo usaremos para convertir por lotes archivos de imagen de PNG a JPG. Tenga en cuenta que esto deberÃa funcionar en casi cualquier versión de OS X o macOS; la utilidad de la que depende existe desde hace bastante tiempo.
Cómo encontré una forma de convertir archivos de imagen por lotes
Es algo bastante común para mÃ, necesitar convertir por lotes archivos de imagen de PNG a JPG. Cuando arrastro imágenes fuera de la aplicación Fotos en mi Mac, casi inevitablemente se exportan como PNG. Preferimos usar JPG en TMO, asà que los habÃa estado convirtiendo uno a la vez usando la función Exportar de Vista previa. Después de encontrar esta herramienta, descubrà que en realidad puedes usar Automator para convertir por lotes y cambiar el tamaño de las imágenes. Sin embargo, soy un adicto a la Terminal y prefiero mi método.
Luego descubrà (a través de una asombrosa hazaña de Google-Fu) sobre un pequeño comando con un nombre divertido en la Terminal llamado sips. El nombre significa “sistema de procesamiento de imágenes programable” y es extremadamente útil. La utilidad puede cambiar el tamaño de las imágenes restringidas a un tamaño particular, volver a muestrear sus fotos y convertir sus imágenes de un formato a otro.
Sorbos de secuencias de comandos en la Terminal
Si solo tiene una imagen para procesar, este comando de Terminal la convertirá de PNG a JPG. Solo asegúrese de estar en el directorio correcto primero. Para ello, escriba cd
sips -s format jpeg -s formatOptions 80 IMG_1354.png –out IMG_1354.jpg
Eso convertirÃa IMG_1354.png en un archivo JPG con la calidad de imagen establecida en 80 por ciento. Eso está muy bien, pero ¿qué sucede si tiene varias imágenes que desea convertir?
Sorbos de secuencias de comandos por lotes
Ahà es donde entra en juego la belleza de las secuencias de comandos bash. Este breve script, que tengo como un fragmento en TextExpander, hace un trabajo rápido de una gran cantidad de archivos PNG.
for i in *.png; do sips -s format jpeg -s formatOptions 80 "${i}" –out "${i%png}jpg"; done
Lo que hace es configurar un bucle para cada archivo PNG que tenga en ese directorio. El script ejecuta sorbos en cada uno, convirtiéndolos como se describe arriba.
Una cosa importante a tener en cuenta: cuando coloca este script en TextExpander, debe escapar del signo de porcentaje. Asà que en realidad lo escribà como “{i%%png}jpg” en TextExpander. Eso es porque TextExpander usa el signo de porcentaje para otros propósitos.
¡Disfrutar!