Inicio
» LINUX
»
Cómo convertir PNG a JPG en Linux con ImageMagick
Cómo convertir PNG a JPG en Linux con ImageMagick
Para convertir PNG a JPG en Linux , la opción más flexible es ImageMagick. Con ImageMagick 7, se puede convertir un solo archivo con magick input.png output.jpg, mientras que se puede procesar una carpeta completa con magick mogrify -format jpg *.png. Si el PNG tiene transparencia, primero aplánelo sobre un fondo sólido, ya que JPEG no admite un canal alfa.
Instalar ImageMagick en Linux
ImageMagick está disponible en los repositorios estándar de las principales distribuciones de Linux. Su documentación actual recomienda el magickprograma como punto de entrada principal de la línea de comandos. Las versiones de los paquetes varían según la distribución y la versión, por lo que los sistemas más antiguos aún pueden proporcionar comandos de ImageMagick 6, como converty mogrifysin el magickprefijo.
Distribución
Comando de instalación
Ubuntu / Debian
sudo apt update && sudo apt install imagemagick
Fedora
sudo dnf install ImageMagick
Arch Linux
sudo pacman -S imagemagick
openSUSE
sudo zypper install ImageMagick
Instala ImageMagick con el gestor de paquetes de tu distribución antes de comenzar la conversión.
Abre una terminal y ve a la carpeta que contiene la imagen. Por ejemplo:
cd ~/Pictures
Luego, convierta el archivo dándole una .jpgextensión al resultado:
magick photo.png photo.jpg
Una conversión básica con ImageMagick conserva el archivo PNG original y crea un nuevo archivo JPG.
El original photo.pngpermanece en su lugar porque el comando escribe en un nombre de archivo de salida diferente. Para elegir explícitamente la calidad de compresión JPEG, agregue -qualityantes del archivo de salida:
magick photo.png -quality 90 photo.jpg
ImageMagick acepta valores de calidad JPEG del 1 al 100. Los valores más altos generalmente conservan más detalles, pero generan archivos más grandes. Consulte la documentación oficial-quality de opciones para conocer el comportamiento específico del formato.
Convierte una imagen PNG transparente sin que aparezca un fondo no deseado.
PNG puede almacenar píxeles transparentes; JPEG no. Si la fuente contiene transparencia, aplánela al color de fondo que desee antes de guardarla como JPG. Para un fondo blanco, ejecute:
magick logo.png -background white -alpha remove -alpha off logo.jpg
Aplana los píxeles PNG transparentes sobre blanco antes de convertirlos a JPEG, que no tiene canal alfa.
Esta -alpha removeoperación superpone la imagen sobre el fondo seleccionado, a la vez que -alpha offdesactiva el canal alfa para la salida. ImageMagick documenta estos comportamientos en sus opciones oficiales de canal alfa .
Convierte varios archivos PNG a JPG a la vez.
Para convertir todos .pnglos archivos en minúsculas del directorio actual, utilice mogrify:
magick mogrify -format jpg *.png
Este mogrify -format jpgcomando crea archivos JPG idénticos a todos los archivos PNG de la carpeta actual.
Según la documentación oficialmogrify de ImageMagick , al usar esta opción -format jpglos archivos PNG permanecen intactos y se crean los archivos JPG correspondientes. Si sus archivos PNG pueden contener transparencia, combine las opciones:
magick mogrify -background white -alpha remove -alpha off -quality 90 -format jpg *.png
Tenga cuidado si la carpeta ya contiene archivos JPG con los mismos nombres base, ya que los nuevos archivos de salida pueden reemplazarlos. Para un flujo de trabajo más seguro, guarde las conversiones en un directorio aparte.
mkdir -p jpg
for f in *.png; do
magick "$f" -background white -alpha remove -alpha off -quality 90 "jpg/${f%.png}.jpg"
done
Pequeños detalles en los nombres de archivo que pueden causar problemas en un lote
Los nombres de archivo de Linux suelen distinguir entre mayúsculas y minúsculas, por lo que el comodín *.pngnormalmente no coincide con un archivo que termina en .PNG. Ejecute el lote nuevamente con *.PNGsi es necesario. Para un nombre de archivo único que contenga espacios, escríbalo entre comillas, por ejemplo magick "Summer Photo.png" "Summer Photo.jpg". Estos detalles evitan que el intérprete de comandos pase la ruta incorrecta a ImageMagick.
¿Qué ocurre si magickno se encuentra?
Algunas versiones antiguas de Linux todavía incluyen ImageMagick 6. En ese caso, use convert photo.png photo.jpgpara una sola imagen y mogrify -format jpg *.pngpara un lote. Si ninguno de los comandos existe, confirme que el paquete ImageMagick se instaló correctamente y que sus binarios están en el directorio de su shell PATH.
Para la mayoría de los usuarios, la regla práctica es sencilla: usar magickImageMagick 7, acoplar la transparencia antes de crear archivos JPEG y usarlo magick mogrify -format jpgcuando necesite procesar una carpeta completa rápidamente.