GNU/Linux >> Belajar Linux >  >> Linux

4 Cara Batch Mengonversi PNG Anda ke JPG dan Sebaliknya

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

Kami akan menggunakan konversi alat baris perintah di semua contoh, namun, Anda juga dapat menggunakan mogrify untuk mencapai 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, tetapi hal ini dapat dicegah dengan menggunakan opsi tertentu yang dapat Anda temukan di halaman manual.

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

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

Perintah ls memungkinkan Anda untuk membuat daftar semua png gambar dan xargs memungkinkan untuk membangun dan menjalankan konversi perintah dari input standar untuk mengonversi semua .png gambar 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 membuat daftar satu gambar per baris.
  2. -n – menentukan jumlah maksimum argumen, yaitu 1 untuk kasus ini.
  3. -c – menginstruksikan bash untuk menjalankan perintah yang diberikan.
  4. ${0%.png}.jpg – menetapkan nama gambar yang baru dikonversi, % sign membantu menghapus ekstensi file lama.

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

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

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

GNU Paralel memungkinkan pengguna untuk membangun 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]

Sekali Sejajar utilitas terinstal, Anda dapat menjalankan perintah berikut untuk mengonversi semua .png gambar ke .jpg format dari input standar.

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

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

Dimana,

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

Atau, Anda juga dapat menggunakan ls dan paralel perintah bersama untuk mengonversi semua gambar Anda 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 kesibukan 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. Gambar variabel adalah penghitung jumlah gambar dalam direktori.
  3. Untuk setiap operasi konversi, perintah gema memberi tahu pengguna bahwa gambar png telah dikonversi menjadi jpg format dan sebaliknya pada baris $image dikonversi ke ${image%.png}.jpg ”.
  4. “${image%.png}.jpg” membuat nama gambar yang dikonversi, di mana % menghapus ekstensi format gambar lama.

4. Konversi PNG ke JPG Menggunakan Shell Script

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

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

#!/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 tersebut dapat dieksekusi dan kemudian jalankan dari dalam direktori yang memiliki gambar Anda.

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

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

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


Linux
  1. Cara Mengoptimalkan dan Mengompresi Gambar JPEG atau PNG di Commandline Linux

  2. Bagaimana cara mengonversi file pptx ke jpg atau png (untuk setiap slide) di linux?

  3. Konversi batch PNG ke JPG di linux

  1. 6 cara untuk meningkatkan profil dan potensi penghasilan sysadmin Linux Anda

  2. Urutkan Jpg Menurut Tanggal Pembuatan Dan Konversikan Ke Pdf Tunggal?

  3. Gunakan SFTP dan SCP

  1. Metamorphose 2 – Batch Ganti Nama File dan Folder Anda di Linux

  2. Konversi batch Linux:Ubah kualitas jpg dengan konversi tetapi pertahankan namanya

  3. Mengonversi mesin terbang TrueType ke gambar PNG?