Strona główna
» LINUX
»
Jak przekonwertować PNG na JPG w systemie Linux za pomocą ImageMagick
Jak przekonwertować PNG na JPG w systemie Linux za pomocą ImageMagick
Aby przekonwertować PNG do JPG w systemie Linux , najbardziej elastycznym rozwiązaniem jest ImageMagick. W ImageMagick 7 pojedynczy plik można przekonwertować za pomocą magick input.png output.jpg, a cały folder za pomocą magick mogrify -format jpg *.png. Jeśli plik PNG ma przezroczystość, należy go najpierw spłaszczyć na jednolitym tle, ponieważ JPEG nie obsługuje kanału alfa.
Zainstaluj ImageMagick na Linuksie
Program ImageMagick jest dostępny w standardowych repozytoriach głównych dystrybucji Linuksa. Aktualna dokumentacja zaleca go magickjako główny punkt wejścia do wiersza poleceń. Wersje pakietów różnią się w zależności od dystrybucji i wydania, więc starsze systemy mogą nadal udostępniać polecenia ImageMagick 6, takie jak converti mogrifybez magickprefiksu.
Dystrybucja
Polecenie Zainstaluj
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
Przed rozpoczęciem konwersji zainstaluj ImageMagick za pomocą menedżera pakietów swojej dystrybucji.
Otwórz terminal i przejdź do folderu zawierającego obraz. Na przykład:
cd ~/Pictures
Następnie przekonwertuj plik, nadając plikowi wyjściowemu .jpgrozszerzenie:
magick photo.png photo.jpg
Podstawowa konwersja ImageMagick zachowuje oryginalny plik PNG i zapisuje nowy plik JPG.
Oryginał photo.pngpozostaje na swoim miejscu, ponieważ polecenie zapisuje plik wyjściowy pod inną nazwą. Aby jawnie wybrać jakość kompresji JPEG, dodaj -qualityprzed plikiem wyjściowym:
Konwertuj przezroczysty plik PNG bez niechcianego tła
PNG może przechowywać przezroczyste piksele; JPEG nie. Jeśli plik źródłowy zawiera przezroczystość, spłaszcz go do żądanego koloru tła przed zapisaniem w formacie JPG. Aby uzyskać białe tło, uruchom:
magick logo.png -background white -alpha remove -alpha off logo.jpg
Przed konwersją do formatu JPEG, który nie ma kanału alfa, spłaszcz przezroczyste piksele PNG na białym tle.
Operacja ta -alpha removenakłada obraz na wybrane tło, jednocześnie -alpha offwyłączając kanał alfa dla danych wyjściowych. ImageMagick dokumentuje te zachowania w swoich oficjalnych opcjach kanału alfa .
Konwertuj wiele plików PNG do JPG jednocześnie
Aby przekonwertować wszystkie .pngpliki pisane małymi literami w bieżącym katalogu, użyj mogrify:
magick mogrify -format jpg *.png
Polecenie mogrify -format jpgtworzy pasujące pliki JPG dla wszystkich plików PNG w bieżącym folderze.
Zgodnie z oficjalną mogrifydokumentacją ImageMagick , użycie -format jpgtej opcji pozostawia pliki PNG bez zmian i tworzy odpowiadające im pliki JPG. Jeśli pliki PNG mogą zawierać przezroczystość, połącz te opcje:
magick mogrify -background white -alpha remove -alpha off -quality 90 -format jpg *.png
Zachowaj ostrożność, jeśli folder zawiera już pliki JPG o tych samych nazwach bazowych, ponieważ nowe pliki wyjściowe mogą je zastąpić. Aby zapewnić bezpieczniejszy przepływ pracy, zapisz konwersje w osobnym katalogu:
mkdir -p jpg
for f in *.png; do
magick "$f" -background white -alpha remove -alpha off -quality 90 "jpg/${f%.png}.jpg"
done
Małe szczegóły nazwy pliku, które mogą spowodować błąd w partii
Nazwy plików w systemie Linux zazwyczaj rozróżniają wielkość liter, więc symbol wieloznaczny *.pngzazwyczaj nie pasuje do pliku zakończonego na .PNG. W razie potrzeby uruchom plik wsadowy ponownie, używając *.PNG. W przypadku pojedynczej nazwy pliku zawierającej spacje, uwzględnij ją w cudzysłowie, na przykład magick "Summer Photo.png" "Summer Photo.jpg". Te szczegóły zapobiegają przekazaniu przez powłokę nieprawidłowej ścieżki do programu ImageMagick.
A co jeśli magicknie zostanie znaleziony?
Niektóre starsze wersje Linuksa nadal zawierają pakiet ImageMagick 6. W takim przypadku należy użyć polecenia convert photo.png photo.jpgdla pojedynczego obrazu i mogrify -format jpg *.pngdla partii. Jeśli żadne z tych poleceń nie istnieje, należy sprawdzić, czy pakiet ImageMagick został pomyślnie zainstalowany i czy jego pliki binarne znajdują się w pliku powłoki PATH.
Dla większości użytkowników praktyczna zasada jest prosta: używaj magickImageMagick 7, spłaszczaj przezroczystość przed tworzeniem plików JPEG i korzystaj, magick mogrify -format jpggdy musisz szybko przetworzyć cały folder.