Accueil
» LINUX
»
Comment convertir un PNG en JPG sous Linux avec ImageMagick
Comment convertir un PNG en JPG sous Linux avec ImageMagick
Pour convertir des fichiers PNG en JPG sous Linux , ImageMagick est l'option la plus flexible. Avec ImageMagick 7, la conversion d'un seul fichier se fait avec la magick input.png output.jpgcommande `png`, tandis que celle d'un dossier entier se fait avec magick mogrify -format jpg *.png`png`. Si le fichier PNG contient de la transparence, il est conseillé de l'aplatir sur un fond uni au préalable, car le format JPEG ne prend pas en charge le canal alpha.
Installer ImageMagick sous Linux
ImageMagick est disponible dans les dépôts standards des principales distributions Linux. Sa documentation actuelle recommande d'utiliser ce magickprogramme comme point d'entrée principal en ligne de commande. Les versions des paquets varient selon la distribution et la version ; par conséquent, les systèmes plus anciens peuvent encore proposer des commandes ImageMagick 6, telles que `imagemagick` convertet `imagemagick`, mogrifysans le magickpréfixe `imagemagick`.
Distribution
Commande d'installation
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
Installez ImageMagick avec le gestionnaire de paquets de votre distribution avant de commencer la conversion.
Ouvrez un terminal et accédez au dossier contenant l'image. Par exemple :
cd ~/Pictures
Convertissez ensuite le fichier en lui donnant une .jpgextension :
magick photo.png photo.jpg
Une conversion ImageMagick basique conserve le fichier PNG original et crée un nouveau fichier JPG.
Le fichier d'origine photo.pngest conservé car la commande écrit dans un fichier de sortie différent. Pour choisir explicitement la qualité de compression JPEG, ajoutez-quality :
magick photo.png -quality 90 photo.jpg
ImageMagick accepte les valeurs de qualité JPEG de 1 à 100. Les valeurs plus élevées préservent généralement davantage de détails, mais génèrent des fichiers plus volumineux. Consultez la documentation officielle-quality des options pour connaître le comportement spécifique à chaque format.
Convertir un PNG transparent sans arrière-plan indésirable
Le format PNG peut gérer les pixels transparents ; le format JPEG ne le permet pas. Si la source contient de la transparence, aplatissez-la sur la couleur de fond souhaitée avant de l’enregistrer au format JPG. Pour un fond blanc, exécutez :
magick logo.png -background white -alpha remove -alpha off logo.jpg
Aplatissez les pixels PNG transparents sur du blanc avant de les convertir en JPEG, qui ne possède pas de canal alpha.
Cette -alpha removeopération superpose l'image sur l'arrière-plan sélectionné, tout en -alpha offdésactivant le canal alpha pour le résultat. ImageMagick décrit ces comportements dans ses options officielles relatives au canal alpha .
Convertissez plusieurs fichiers PNG en JPG simultanément.
Pour convertir tous .pngles fichiers en minuscules du répertoire courant, utilisezmogrify :
magick mogrify -format jpg *.png
Cette mogrify -format jpgcommande crée des fichiers JPG correspondants pour tous les fichiers PNG présents dans le dossier actuel.
D'après la documentation officiellemogrify d'ImageMagick , cette option -format jpglaisse les fichiers PNG intacts et crée des fichiers JPG correspondants. Si vos fichiers PNG peuvent contenir de la transparence, combinez les options :
magick mogrify -background white -alpha remove -alpha off -quality 90 -format jpg *.png
Attention : si le dossier contient déjà des fichiers JPG portant le même nom de base, soyez prudent, car les nouveaux fichiers de sortie risquent de les remplacer. Pour plus de sécurité, enregistrez les conversions dans un répertoire distinct.
mkdir -p jpg
for f in *.png; do
magick "$f" -background white -alpha remove -alpha off -quality 90 "jpg/${f%.png}.jpg"
done
De petits détails dans le nom des fichiers peuvent perturber un traitement par lots.
Les noms de fichiers Linux sont généralement sensibles à la casse ; le caractère générique *.pngne correspond donc généralement pas à un fichier se terminant par .PNG.. Relancez le script *.PNGsi nécessaire. Pour un nom de fichier contenant des espaces, placez-le entre guillemets, par exemplemagick "Summer Photo.png" "Summer Photo.jpg" : . Ces précisions empêchent l'interpréteur de commandes de transmettre un chemin incorrect à ImageMagick.
Que se passe-t-il si magickla donnée est introuvable ?
Certaines distributions Linux plus anciennes incluent encore ImageMagick 6. Dans ce cas, utilisez la commande `ls` convert photo.png photo.jpgpour une image unique et `ls` mogrify -format jpg *.pngpour un traitement par lots. Si aucune de ces commandes n'est disponible, vérifiez que le paquet ImageMagick est correctement installé et que ses binaires se trouvent dans le répertoire courant de votre shell PATH.
Pour la plupart des utilisateurs, la règle pratique est simple : utiliser magickImageMagick 7, aplatir la transparence avant de créer des fichiers JPEG, et utiliser magick mogrify -format jpglorsque vous devez traiter rapidement un dossier entier.