Toplamagyň 4 usuly, PNG-ni JPG we Wise-wersiýa öwürmek


Hasaplamakda, bukjany gaýtadan işlemek, interaktiw däl programmada birnäçe meseläniň ýerine ýetirilmegi. Bu gollanmada birnäçe .PNG şekilleri .JPG we tersine Linux buýruk setir gurallaryny ulanyp, 4 sany ýönekeý usul hödürlener.

Convershli mysallarda öwürmek buýrugy guralyny ulanarys, ýöne muňa ýetmek üçin mogrify ulanyp bilersiňiz.

Öwürmek üçin sintaksis:

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

Mogrifiýa üçin:

$ mogrify options input-file

Bellik: Mogrify bilen asyl surat faýly täze surat faýly bilen çalşylýar, ýöne adam sahypasynda tapyp boljak käbir opsiýalary ulanyp, munuň öňüni alyp bolýar.

.JPG öwürmek isleseňiz, aşakda ähli .PNG suratlaryňyzy .JPG formatyna öwürmegiň dürli usullary bar. .PNG , buýruklary islegleriňize görä üýtgedip bilersiňiz.

1. “ls” we “xargs” buýruklaryny ulanyp PNG-ni JPG-a öwüriň

Ls buýrugy, ähli png suratlaryňyzy sanamaga mümkinçilik berýär we xargs, ähli .png şekilleri .jpg öwürmek üçin adaty girişden öwürmek buýrugyny gurmaga we ýerine ýetirmäge mümkinçilik berýär.

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

Aboveokardaky buýrukda ulanylýan wariantlar barada düşündiriş.

  1. -1 - baýdak ls setirde bir suraty sanamagy tabşyrýar.
  2. -n - iň köp argumenti görkezýär, bu iş üçin 1.
  3. -c - berlen buýrugy işletmek üçin baş görkezme berýär.
  4. & # 36 {0% .png} .jpg - täze öwrülen suratyň adyny düzýär,% belgisi köne faýl giňeltmesini aýyrmaga kömek edýär.

Fileshli faýllary üýtgedilen senä we wagta görä sanamak üçin ls -ltr buýrugyny ulandym.

Şonuň ýaly-da, ýokardaky buýrugy üýtgedip, ähli .jpg suratlaryňyzy .png öwürmek üçin ýokardaky buýrugy ulanyp bilersiňiz.

2. GNU “Parallel” buýrugyny ulanyp PNG-ni JPG-a öwüriň

GNU Parallel ulanyja paralel standart girişden gabyk buýruklaryny gurmaga we ýerine ýetirmäge mümkinçilik berýär. Ulgamyňyza GNU Parallel gurnalandygyna göz ýetiriň, ýogsam aşakdaky degişli buýruklary ulanyp guruň:

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

Parallel kömekçi enjam gurlansoň, ähli .png şekilleri adaty girişden .jpg formatyna öwürmek üçin aşakdaky buýrugy işledip bilersiňiz.

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

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

Nirede,

  1. {} - giriş çeşmesinden okalýan doly setir bilen çalşylýan çalyşma setiri.
  2. {.} - giriş setiriniň minus giňeltmesi.
  3. ::: - giriş çeşmesini kesgitleýär, bu * png ýa-da * jpg argument bolan ýokardaky mysal üçin buýruk setiri.

Ativea-da bolmasa, ähli suratlaryňyzy görkezilişi ýaly öwürmek üçin ls we parallel buýruklary bilelikde ulanyp bilersiňiz:

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

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

3. PNG-ni JPG-a öwüriň

Gabyk skriptini ýazmagyň kynçylyklaryndan gaça durmak üçin buýruk setirinden aşakdaky ýaly loop ýerine ýetirip bilersiňiz:

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

Aboveokardaky buýrukda ulanylýan her wariantyň beýany:

  1. -c aýlaw sözlemini ýeke sitatada ýerine ýetirmäge mümkinçilik berýär.
  2. Surat üýtgeýjisi, katalogdaky şekilleriň sany üçin hasaplaýjydyr.
  3. Her öwrülişik amaly üçin, echo buýrugy ulanyja png şekiliniň jpg formatyna we tersine $surat setirinde & # 36 {image% .png} .jpg-e öwrülendigini habar berýär.
  4. \& # 36 {image% .png} .jpg öwrülen şekiliň adyny döredýär, bu ýerde% köne surat formatynyň giňeldilmegini aýyrýar.

4. Shell skriptini ulanyp PNG-ni JPG-a öwüriň

Öňki mysaldaky ýaly buýruk setiriňizi hapa etmek islemeýän bolsaňyz, kiçijik skript ýazyň:

Bellik: Bir formatdan beýlekisine öwürmek üçin aşakdaky mysaldaky ýaly .png we .jpg giňeltmelerini ýerlikli çalyşyň.

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

convert.sh görnüşinde ýazdyryň we skripti ýerine ýetirip bilersiňiz, soňra bolsa suratlaryňyz bolan bukjanyň içinde işlediň.

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

Gysgaça aýdanymyzda, .png şekilleri .jpg formatyna we tersine öwürmegiň möhüm usullaryny ara alyp maslahatlaşdyk. Suratlary optimizirlemek isleseňiz, Linux-da png we jpg şekilleri nädip gysmalydygyny görkezýän gollanmamyzdan geçip bilersiňiz.

Şeýle hem, terminaldaky şekilleri bir formatdan beýlekisine öwürmek üçin Linux buýruk setir gurallaryny öz içine alýan başga usullary paýlaşyp bilersiňiz ýa-da aşakdaky düşündiriş bölüminiň üsti bilen sorag berip bilersiňiz.