4 tapaa muuntaa PNG-tiedostoja JPG-muotoon ja päinvastoin


Tietojenkäsittelyssä Eräkäsittely tarkoittaa ohjelman tehtävien sarjan suorittamista ei-vuorovaikutteisesti. Tämä opas tarjoaa sinulle 4 yksinkertaista tapaa erämuuntaa useita .PNG-kuvia .JPG-muotoon ja päinvastoin Linuxin komentorivityökalujen avulla.

Käytämme convert-komentorivityökalua kaikissa esimerkeissä, mutta voit myös käyttää mogrify-työkalua saavuttaaksesi tämän.

Convert-toiminnon syntaksi on:

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

Ja mogrifylle on:

mogrify options input-file

Huomaa: mogrify-toiminnolla alkuperäinen kuvatiedosto korvataan oletusarvoisesti uudella kuvatiedostolla, mutta tämä on mahdollista estää käyttämällä tiettyjä vaihtoehtoja, jotka löydät man-sivulta.

Alla on eri tapoja muuntaa kaikki .PNG-kuvasi .JPG-muotoon, jos haluat muuntaa .JPG-muodon -muotoon. .PNG, voit muokata komentoja tarpeidesi mukaan.

1. Muunna PNG JPG:ksi käyttämällä ls- ja xargs-komentoja

ls-komennon avulla voit listata kaikki png-kuvasi ja xargit mahdollistavat convert-komennon rakentamisen ja suorittamisen vakiosyötteestä, jotta kaikki muunnetaan. .png-kuvat muotoon .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"'

Selitys yllä olevassa komennossa käytetyistä valinnoista.

  1. -1 – lippu kertoo ls:n luettelemaan yhden kuvan riviä kohden.
  2. -n – määrittää argumenttien enimmäismäärän, joka on tapaukselle 1.
  3. -c – käskee bashia suorittamaan annetun komennon.
  4. $ {0%.png}.jpg – asettaa uuden muunnetun kuvan nimen, %-merkki auttaa poistamaan vanhan tiedostotunnisteen.

Käytin ls -ltr -komentoa listatakseni kaikki tiedostot muokatun päivämäärän ja ajan mukaan.

Vastaavasti voit käyttää yllä olevaa komentoa muuntaaksesi kaikki .jpg-kuvasi .png-muotoon säätämällä yllä olevaa komentoa.

2. Muunna PNG JPG:ksi GNU Parallel -komennolla

GNU Parallel mahdollistaa käyttäjän rakentaa ja suorittaa komentotulkkikomentoja vakiosyötteestä rinnakkain. Varmista, että GNU Parallel on asennettu järjestelmääsi, muussa tapauksessa asenna se käyttämällä asianmukaisia alla olevia komentoja:

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

Kun Parallel-apuohjelma on asennettu, voit suorittaa seuraavan komennon muuntaaksesi kaikki .png-kuvat .jpg-muotoon vakiosyötteestä.

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

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

Missä,

  1. {} – syöttörivi, joka on korvaava merkkijono, joka on korvattu syöttölähteestä luetulla kokonaisella rivillä.
  2. {.} – syöttörivi miinus laajennus.
  3. ::: – määrittää syöttölähteen, joka on komentorivi yllä olevalle esimerkille, jossa *png tai *jpg on argumentti.

Vaihtoehtoisesti voit myös käyttää ls- ja rinnakkais-komentoja yhdessä kaikkien kuvien erämuuntamiseen kuvan osoittamalla tavalla:

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

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

3. Muunna PNG JPG:ksi käyttämällä for loop -komentoa

Voit välttää komentotulkkikomentosarjan kirjoittamisen hälinän suorittamalla for loop -komennon komentoriviltä seuraavasti:

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

Kuvaus jokaisesta yllä olevassa komennossa käytetystä vaihtoehdosta:

  1. -c mahdollistaa for-silmukkakäskyn suorittamisen yksittäisissä lainausmerkeissä.
  2. image-muuttuja on hakemiston kuvien lukumäärän laskuri.
  3. Jokaisen muunnosoperaation kohdalla echo-komento ilmoittaa käyttäjälle, että png-kuva on muunnettu jpg-muotoon ja päinvastoin rivillä $image muutettu muotoon & #36 {image%.png}.jpg ”.
  4. "$ {image%.png}.jpg" luo muunnetun kuvan nimen, jossa % poistaa vanhan kuvamuodon laajennuksen.

4. Muunna PNG JPG:ksi Shell Scriptin avulla

Jos et halua likaista komentoriviä kuten edellisessä esimerkissä, kirjoita pieni komentosarja, kuten näin:

Huomaa: vaihda .png- ja .jpg-laajennukset asianmukaisesti alla olevan esimerkin mukaisesti muunnettaessa yhdestä muodosta toiselle.

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

Tallenna se nimellä convert.sh ja tee komentosarjasta suoritettava ja suorita se sitten hakemistosta, jossa kuvat ovat.

chmod +x convert.sh
./convert.sh

Yhteenvetona käsittelimme joitakin tärkeitä tapoja .png-kuvien erämuuntamiseen .jpg-muotoon ja päinvastoin. Jos haluat optimoida kuvat, voit käydä läpi oppaamme, joka näyttää kuinka pakkaat png- ja jpg-kuvia Linuxissa.

Voit myös jakaa kanssamme mitä tahansa muita menetelmiä, mukaan lukien Linuxin komentorivityökalut kuvien muuntamiseksi yhdestä muodosta toiseen terminaalissa, tai esittää kysymyksen alla olevan kommenttiosion kautta.