4 veidi, kā partiju konvertēt PNG uz JPG un otrādi


Skaitļošanā pakešapstrāde ir virknes uzdevumu izpilde programmā neinteraktīvi. Šajā rokasgrāmatā jums tiks piedāvāti 4 vienkārši veidi, kā vairākus .PNG attēlus pārveidot par .JPG un otrādi, izmantojot Linux komandrindas rīkus.

Visos piemēros mēs izmantosim konvertēšanas komandrindas rīku, tomēr jūs varat arī izmantot mogrify, lai to panāktu.

Konvertēšanas izmantošanas sintakse ir šāda:

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

Un mogrify ir:

$ mogrify options input-file

Piezīme. Izmantojot mogrify, sākotnējais attēla fails pēc noklusējuma tiek aizstāts ar jaunu attēla failu, taču to ir iespējams novērst, izmantojot noteiktas opcijas, kuras varat atrast man lapā.

Tālāk ir minēti dažādi veidi, kā visus visus .PNG attēlus pārveidot .JPG formātos, ja vēlaties pārveidot .JPG uz . .PNG , jūs varat modificēt komandas atbilstoši savām vajadzībām.

1. Konvertējiet PNG uz JPG, izmantojot komandas ‘ls’ un ‘xargs’

Komanda ls ļauj uzskaitīt visus jūsu png attēlus un xargs ļauj izveidot un izpildīt konvertēšanas komandu no standarta ievades, lai visus .png attēlus pārvērstu par .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"'

Paskaidrojums par iepriekš minētajā komandā izmantotajām opcijām.

  1. -1 - karodziņš liek ls katrā rindiņā norādīt vienu attēlu.
  2. -n - norāda maksimālo argumentu skaitu, kas ir 1 gadījumam.
  3. -c - uzdod bash izpildīt doto komandu.
  4. & # 36 {0% .png} .jpg - iestata jaunā pārveidotā attēla nosaukumu,% zīme palīdz noņemt veco faila paplašinājumu.

Es izmantoju komandu ls -ltr , lai uzskaitītu visus failus pēc modificēta datuma un laika.

Tāpat jūs varat izmantot iepriekš minēto komandu, lai visus savus .jpg attēlus pārveidotu par .png , pielāgojot iepriekš minēto komandu.

2. Konvertējiet PNG uz JPG, izmantojot komandu GNU ‘Parallel’

GNU Parallel ļauj lietotājam paralēli veidot un izpildīt čaulas komandas no standarta ievades. Pārliecinieties, ka jūsu sistēmā ir instalēts GNU Parallel, pretējā gadījumā instalējiet to, izmantojot atbilstošās komandas:

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

Kad ir instalēta paralēla utilīta, varat palaist šo komandu, lai visus .png attēlus no standarta ievades pārveidotu par .jpg formātu.

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

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

Kur,

  1. {} - ievades rinda, kas ir aizstājoša virkne, kas aizstāta ar pilnīgu līniju, kas nolasīta no ievades avota.
  2. {.} - ievades rindiņa mīnus pagarinājums.
  3. ::: - norāda ievades avotu, tas ir, komandrindu iepriekš minētajam piemēram, kur * png vai * jpg ir arguments.

Alternatīvi, jūs varat arī izmantot ls un paralēlās komandas, lai visus attēlus sērijveidā pārveidotu, kā parādīts:

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

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

3. Konvertējiet PNG uz JPG, izmantojot komandu “for loop”

Lai izvairītos no čaumalas skripta rakstīšanas, no komandrindas varat izpildīt for loop šādi:

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

Katras iepriekš komandā izmantotās opcijas apraksts:

  1. -c ļauj izpildīt for ciklu priekšrakstu atsevišķās pēdiņās.
  2. Attēla mainīgais ir skaitītāja skaitītāju skaitītājs direktorijā.
  3. Katrai pārveidošanas darbībai komanda atbalss informē lietotāju, ka png attēls ir pārveidots jpg formātā un otrādi rindā $image, kas pārveidots par & # 36 {image% .png} .jpg ”.
  4. “& # 36 {image% .png} .jpg” izveido pārveidotā attēla nosaukumu, kur% noņem vecā attēla formāta paplašinājumu.

4. Konvertējiet PNG uz JPG, izmantojot Shell Script

Ja jūs nevēlaties padarīt savu komandrindu netīru kā iepriekšējā piemērā, uzrakstiet nelielu skriptu šādi:

Piezīme. Lai pārveidotu no viena formāta uz citu, atbilstoši apmainiet paplašinājumus .png un .jpg , kā parādīts zemāk esošajā piemērā.

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

Saglabājiet to kā convert.sh un izveidojiet skriptu izpildāmu, pēc tam palaidiet to direktorijā, kurā ir jūsu attēli.

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

Apkopojot, mēs aplūkojām dažus svarīgus veidus, kā .png attēlus sērijveidā pārveidot .jpg formātā un otrādi. Ja vēlaties optimizēt attēlus, varat iepazīties ar mūsu ceļvedi, kurā parādīts, kā saspiest png un jpg attēlus Linux.

Jūs varat arī kopīgot ar mums citas metodes, tostarp Linux komandrindas rīkus attēlu konvertēšanai no viena formāta uz citu terminālā, vai uzdot jautājumu, izmantojot komentāru sadaļu zemāk.