4 módszer a PNG kötegelt konvertálására JPG-vé és fordítva
A számítástechnikában a kötegelt feldolgozás egy program feladatsorának nem interaktív végrehajtása. Ez az útmutató 4 egyszerű módszert kínál számos .PNG
kép kötegelt konvertálására .JPG
formátumba és fordítva, Linux parancssori eszközök használatával.
Az összes példában a convert parancssori eszközt fogjuk használni, de használhatja a mogrify funkciót is ennek eléréséhez.
A konvertálás használatának szintaxisa a következő:
convert input-option input-file output-option output-file
A mogrify esetében pedig:
mogrify options input-file
Megjegyzés: A mogrify funkcióval alapértelmezés szerint az eredeti képfájl lecserélődik az új képfájlra, de ez megakadályozható bizonyos beállításokat használva, amelyeket a man oldalon talál.
Az alábbiakban bemutatjuk az összes .PNG
kép .JPG
formátumba való kötegelt konvertálásának különböző módjait, ha a .JPG
fájlt formátumba szeretné konvertálni .PNG
, a parancsokat igény szerint módosíthatja.
1. Konvertálja a PNG-t JPG-be az „ls” és „xargs” parancsok használatával
Az ls parancs lehetővé teszi az összes png kép felsorolását, az xargs pedig lehetővé teszi egy convert parancs létrehozását és végrehajtását normál bemenetről az összes konvertálásához .png
képek a .jpg
formátumba.
----------- Convert PNG to JPG -----------
ls -1 *.png | xargs -n 1 bash -c 'convert "$0" "${0%.png}.jpg"'
----------- Convert JPG to PNG -----------
ls -1 *.jpg | xargs -n 1 bash -c 'convert "$0" "${0%.jpg}.png"'
Magyarázat a fenti parancsban használt beállításokról.
-1
– jelző jelzi az ls-nek, hogy soronként egy képet jelenítsen meg.-n
– az argumentumok maximális számát adja meg, amely az esetre 1.-c
– utasítja a bash-t az adott parancs futtatására.$ {0%.png}.jpg
– beállítja az új konvertált kép nevét, a % jel segít eltávolítani a régi fájlkiterjesztést.
Az ls -ltr
parancsot használtam az összes fájl listázásához a módosított dátum és idő szerint.
Hasonlóképpen a fenti paranccsal konvertálhatja az összes .jpg
képét .png
formátumba a fenti parancs módosításával.
2. Konvertálja a PNG-t JPG-be a GNU „Parallel” paranccsal
A GNU Parallel lehetővé teszi a felhasználó számára, hogy párhuzamosan építsen fel és hajtson végre shell-parancsokat szabványos bemenetről. Győződjön meg arról, hogy a GNU Parallel telepítve van a rendszeren, ellenkező esetben telepítse az alábbi megfelelő parancsok segítségével:
sudo apt-get install parallel [On Debian/Ubuntu systems]
sudo yum install parallel [On RHEL/CentOS and Fedora]
A Parallel segédprogram telepítése után a következő parancs futtatásával az összes .png
képet .jpg
formátumba konvertálja a szabványos bemenetről.
----------- Convert PNG to JPG -----------
parallel convert '{}' '{.}.jpg' ::: *.png
----------- Convert JPG to PNG -----------
parallel convert '{}' '{.}.png' ::: *.jpg
Ahol,
{}
– bemeneti sor, amely egy helyettesítő karakterlánc, amelyet a bemeneti forrásból kiolvasott teljes sor helyettesít.{.}
– bemeneti sor mínusz kiterjesztés.:::
– megadja a bemeneti forrást, azaz a parancssort a fenti példához, ahol a *png vagy *jpg az argumentum.
Alternatív megoldásként használhatja az ls és a párhuzamos parancsokat is az összes kép kötegelt konvertálásához, az ábrán látható módon:
----------- Convert PNG to JPG -----------
ls -1 *.png | parallel convert '{}' '{.}.jpg'
----------- Convert JPG to PNG -----------
ls -1 *.jpg | parallel convert '{}' '{.}.png'
3. PNG konvertálása JPG-be a „for loop” paranccsal
A shell-szkriptek írásának nyüzsgésének elkerülése érdekében végrehajthat egy for loop
parancsot a parancssorból az alábbiak szerint:
----------- Convert PNG to JPG -----------
bash -c 'for image in *.png; do convert "$image" "${image%.png}.jpg"; echo “image $image converted to ${image%.png}.jpg ”; done'
----------- Convert JPG to PNG -----------
bash -c 'for image in *.jpg; do convert "$image" "${image%.jpg}.png"; echo “image $image converted to ${image%.jpg}.png ”; done'
A fenti parancsban használt egyes opciók leírása:
- A -c lehetővé teszi a for ciklus utasítás egyszeri idézőjelben történő végrehajtását.
- Az image változó a könyvtárban lévő képek számának számlálója.
- Az echo parancs minden átalakítási műveletnél tájékoztatja a felhasználót, hogy egy png-kép jpg formátumba lett konvertálva, és fordítva, a $image sorban & formátumra konvertálva. #36 {image%.png}.jpg”.
- Az „$ {image%.png}.jpg” létrehozza a konvertált kép nevét, ahol a % eltávolítja a régi képformátum kiterjesztését.
4. PNG konvertálása JPG-be Shell Script segítségével
Ha nem szeretné, hogy a parancssor piszkos legyen, mint az előző példában, írjon egy kis szkriptet, például:
Megjegyzés: Megfelelően cserélje fel a .png
és .jpg
kiterjesztést az alábbi példa szerint, ha egy formátumból szeretne konvertálni. másikba.
#!/bin/bash
#convert
for image in *.png; do
convert "$image" "${image%.png}.jpg"
echo “image $image converted to ${image%.png}.jpg ”
done
exit 0
Mentse el convert.sh
néven, tegye végrehajthatóvá a szkriptet, majd futtassa a képeket tartalmazó könyvtárból.
chmod +x convert.sh
./convert.sh
Összefoglalva, bemutattunk néhány fontos módszert a .png
képek kötegelt konvertálására .jpg
formátumra és fordítva. Ha optimalizálni szeretné a képeket, nézze meg útmutatónkat, amely bemutatja, hogyan lehet png és jpg formátumú képeket tömöríteni Linux alatt.
Megoszthat velünk bármilyen más módszert is, beleértve a Linux parancssori eszközöket a képek egyik formátumból a másikba való konvertálásához a terminálon, vagy feltehet kérdést az alábbi megjegyzés részben.