4 Cara Mengonversi Batch PNG Anda ke JPG dan Sebaliknya


Dalam komputasi, pemrosesan Batch adalah pelaksanaan serangkaian tugas dalam suatu program secara non-interaktif. Dalam panduan ini akan menawarkan kepada Anda 4 cara sederhana untuk mengonversi beberapa gambar .PNG menjadi .JPG dan sebaliknya menggunakan alat baris perintah Linux.

Kami akan menggunakan alat baris perintah convert di semua contoh, namun Anda juga dapat menggunakan mogrify untuk mencapai hal ini.

Sintaks untuk menggunakan convert adalah:

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

Dan untuk mogrify adalah:

mogrify options input-file

Catatan: Dengan mogrify, file gambar asli diganti dengan file gambar baru secara default, namun hal ini dapat dicegah dengan menggunakan opsi tertentu yang dapat Anda temukan di halaman manual.

Di bawah ini adalah berbagai cara untuk mengonversi semua gambar .PNG Anda ke format .JPG secara batch, jika Anda ingin mengonversi .JPG ke .PNG, Anda dapat mengubah perintah sesuai kebutuhan Anda.

1. Konversi PNG ke JPG Menggunakan Perintah 'ls' dan 'xargs'

Perintah ls memungkinkan Anda membuat daftar semua gambar png dan xargs memungkinkan untuk membuat dan menjalankan perintah convert dari input standar untuk mengonversi semua gambar .png ke .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"'

Penjelasan tentang opsi yang digunakan pada perintah di atas.

  1. -1 – bendera memberitahu ls untuk mencantumkan satu gambar per baris.
  2. -n – menentukan jumlah maksimum argumen, yaitu 1 untuk kasus tersebut.
  3. -c – menginstruksikan bash untuk menjalankan perintah yang diberikan.
  4. $ {0%.png}.jpg – menetapkan nama gambar baru yang dikonversi, tanda % membantu menghapus ekstensi file lama.

Saya menggunakan perintah ls -ltr untuk membuat daftar semua file berdasarkan tanggal dan waktu yang diubah.

Demikian pula, Anda dapat menggunakan perintah di atas untuk mengonversi semua gambar .jpg Anda menjadi .png dengan mengubah perintah di atas.

2. Konversi PNG ke JPG Menggunakan Perintah 'Paralel' GNU

GNU Parallel memungkinkan pengguna membuat dan menjalankan perintah shell dari input standar secara paralel. Pastikan Anda telah menginstal GNU Parallel di sistem Anda, jika tidak, instal menggunakan perintah yang sesuai di bawah ini:

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

Setelah utilitas Parallel diinstal, Anda dapat menjalankan perintah berikut untuk mengonversi semua gambar .png ke format .jpg dari input standar.

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

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

Di mana,

  1. {} – baris masukan yang merupakan string pengganti yang diganti dengan baris lengkap yang dibaca dari sumber masukan.
  2. {.} – baris masukan dikurangi ekstensi.
  3. ::: – menentukan sumber masukan, yaitu baris perintah untuk contoh di atas dengan *png atau *jpg sebagai argumennya.

Alternatifnya, Anda juga dapat menggunakan perintah ls dan parallel secara bersamaan untuk mengonversi semua gambar secara batch seperti yang ditunjukkan:

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

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

3. Konversi PNG ke JPG Menggunakan Perintah 'for loop'

Untuk menghindari kerumitan menulis skrip shell, Anda dapat menjalankan for loop dari baris perintah sebagai berikut:

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

Deskripsi setiap opsi yang digunakan dalam perintah di atas:

  1. -c memungkinkan eksekusi pernyataan for loop dalam tanda kutip tunggal.
  2. Variabel gambar adalah penghitung jumlah gambar dalam direktori.
  3. Untuk setiap operasi konversi, perintah echo memberi tahu pengguna bahwa gambar png telah dikonversi ke format jpg dan sebaliknya pada baris $image dikonversi ke & #36 {gambar%.png}.jpg ”.
  4. “$ {image%.png}.jpg” membuat nama gambar yang dikonversi, dan % menghapus ekstensi format gambar lama.

4. Konversi PNG ke JPG Menggunakan Skrip Shell

Jika Anda tidak ingin baris perintah Anda kotor seperti pada contoh sebelumnya, tulis skrip kecil seperti ini:

Catatan: Ganti ekstensi .png dan .jpg dengan tepat seperti pada contoh di bawah ini untuk konversi dari satu format ke yang lain.

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

Simpan sebagai convert.sh dan buat skrip dapat dieksekusi lalu jalankan dari dalam direktori yang berisi gambar Anda.

chmod +x convert.sh
./convert.sh

Singkatnya, kami membahas beberapa cara penting untuk mengonversi gambar .png secara batch ke format .jpg dan sebaliknya. Jika Anda ingin mengoptimalkan gambar, Anda dapat membaca panduan kami yang menunjukkan cara mengompres gambar png dan jpg di Linux.

Anda juga dapat berbagi dengan kami metode lain termasuk alat baris perintah Linux untuk mengonversi gambar dari satu format ke format lain di terminal, atau ajukan pertanyaan melalui bagian komentar di bawah.