4 būdai paketui konvertuoti PNG į JPG ir atvirkščiai


Skaičiuojant paketinis apdorojimas yra užduočių serijos vykdymas neinteraktyviai. Šiame vadove jums bus pasiūlyti 4 paprasti būdai, kaip kelis .PNG vaizdus paketiškai konvertuoti į .JPG ir atvirkščiai, naudojant „Linux“ komandų eilutės įrankius.

Visuose pavyzdžiuose naudosime komandų eilutės konvertavimą, tačiau taip pat galite naudoti mogrify, kad tai pasiektumėte.

Konvertavimo naudojimo sintaksė yra:

$ convert input-option input-file output-option output-file

O dėl mogrifijos yra:

$ mogrify options input-file

Pastaba: Naudojant „mogrify“, pagal numatytuosius nustatymus originalus vaizdo failas pakeičiamas nauju vaizdo failu, tačiau to išvengti galima naudojant tam tikras parinktis, kurias galite rasti vyro puslapyje.

Toliau pateikiami įvairūs visų .PNG vaizdų paketinio konversijos būdai į .JPG formatą, jei norite konvertuoti .JPG į .PNG , galite modifikuoti komandas pagal savo poreikius.

1. Konvertuokite PNG į JPG naudodami komandas „ls“ ir „xargs“

Komanda ls leidžia jums išvardyti visus savo png vaizdus ir xargs, kad būtų galima sukurti ir vykdyti konvertuojimo komandą iš standartinio įvesties, kad visi .png vaizdai būtų konvertuoti į .jpg .

----------- 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"'

Ankstesnėje komandoje naudojamų parinkčių paaiškinimas.

  1. -1 - vėliava liepia nurodyti eilutėje po vieną vaizdą.
  2. -n - nurodo maksimalų argumentų skaičių, kuris yra 1 atvejis.
  3. -c - nurodo bash vykdyti nurodytą komandą.
  4. & # 36 {0% .png} .jpg - nustato naujo konvertuoto vaizdo pavadinimą,% ženklas padeda pašalinti seną failo plėtinį.

Aš naudojau komandą ls -ltr , norėdamas išvardyti visus failus pagal pakeistą datą ir laiką.

Panašiai galite naudoti aukščiau pateiktą komandą, jei norite konvertuoti visus .jpg vaizdus į .png , pakoreguodami aukščiau pateiktą komandą.

2. Konvertuokite PNG į JPG naudodami komandą GNU ‘Lygiagretus’

„GNU Parallel“ leidžia vartotojui lygiagrečiai kurti ir vykdyti apvalkalo komandas iš standartinės įvesties. Įsitikinkite, kad sistemoje esate įdiegę „GNU Parallel“, kitaip įdiekite jį naudodami atitinkamas toliau pateiktas komandas:

$ sudo apt-get install parallel     [On Debian/Ubuntu systems]
$ sudo yum install parallel         [On RHEL/CentOS and Fedora]

Įdiegę programą „Parallel“, galite paleisti šią komandą ir konvertuoti visus .png vaizdus į .jpg formatus iš standartinės įvesties.

----------- Convert PNG to JPG ----------- 
$ parallel convert '{}' '{.}.jpg' ::: *.png

----------- Convert JPG to PNG -----------
$ parallel convert '{}' '{.}.png' ::: *.jpg

Kur,

  1. {} - įvesties eilutė, kuri yra pakaitinė eilutė, pakeista visa eilute, nuskaityta iš įvesties šaltinio.
  2. {.} - įvesties eilutė atėmus pratęsimą.
  3. ::: - nurodo įvesties šaltinį, tai yra aukščiau esančio pavyzdžio komandinė eilutė, kur * png arba * jpg yra argumentas.

Arba taip pat galite naudoti ls ir lygiagrečias komandas kartu, kad pakeistumėte visus vaizdus, kaip parodyta:

----------- Convert PNG to JPG ----------- 
$ ls -1 *.png | parallel convert '{}' '{.}.jpg'

----------- Convert JPG to PNG -----------
$ ls -1 *.jpg | parallel convert '{}' '{.}.png'

3. Konvertuokite PNG į JPG naudodami komandą „for loop“

Norėdami išvengti „shell“ scenarijaus rašymo, komandinėje eilutėje galite atlikti for loop taip:

----------- 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'

Kiekvienos aukščiau pateiktoje komandoje naudojamos parinkties aprašymas:

  1. -c leidžia vykdyti „for loop“ sakinį vienomis kabutėmis.
  2. Vaizdo kintamasis yra kataloge esančių vaizdų skaičiaus skaitiklis.
  3. Atliekant kiekvieną konversijos operaciją, aido komanda informuoja vartotoją, kad png vaizdas konvertuotas į jpg formatą ir atvirkščiai eilutėje $image konvertuotas į & # 36 {image% .png} .jpg “.
  4. „& # 36 {image% .png} .jpg“ sukuria konvertuoto vaizdo pavadinimą, kur% pašalina senojo vaizdo formato plėtinį.

4. Konvertuokite PNG į JPG naudodami „Shell Script“

Jei nenorite, kad jūsų komandos eilutė būtų nešvari, kaip nurodyta ankstesniame pavyzdyje, parašykite mažą scenarijų:

Pastaba: Tinkamai keiskite plėtinius .png ir .jpg , kaip parodyta toliau pateiktame pavyzdyje, norint konvertuoti iš vieno formato į kitą.

#!/bin/bash
#convert
for image in *.png; do
        convert  "$image"  "${image%.png}.jpg"
        echo “image $image converted to ${image%.png}.jpg ”
done
exit 0 

Išsaugokite jį kaip convert.sh ir padarykite scenarijų vykdomąjį, tada paleiskite jį kataloge, kuriame yra jūsų atvaizdai.

$ chmod +x convert.sh
$ ./convert.sh

Apibendrindami aptarėme keletą svarbių būdų, kaip paketais konvertuoti .png vaizdus į .jpg formatus ir atvirkščiai. Jei norite optimizuoti vaizdus, galite perskaityti mūsų vadovą, kuriame parodyta, kaip suspausti png ir jpg vaizdus sistemoje „Linux“.

Taip pat galite pasidalinti su mumis bet kokiais kitais metodais, įskaitant „Linux“ komandų eilutės įrankius vaizdams konvertuoti iš vieno formato į kitą, arba užduoti klausimą per toliau pateiktą komentarų skyrių.