PNG'nizi JPG'ye ve JPG'ye Toplu Dönüştürmenin 4 Yolu


Bilgi işlemde Toplu işleme, bir programdaki bir dizi görevin etkileşimli olmayan bir şekilde yürütülmesidir. Bu kılavuzda, Linux komut satırı araçlarını kullanarak birkaç .PNG görüntüsünü toplu olarak .JPG biçimine (veya tam tersi) dönüştürmenin 4 basit yolunu sunacağız.

Tüm örneklerde convert komut satırı aracını kullanacağız ancak siz bunu başarmak için mogrify'dan da yararlanabilirsiniz.

Convert kullanımının sözdizimi şöyledir:

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

Ve mogrify için:

mogrify options input-file

Not: mogrify ile varsayılan olarak orijinal resim dosyası yeni resim dosyasıyla değiştirilir ancak bunu şu şekilde önlemek mümkündür: man sayfasında bulabileceğiniz belirli seçenekleri kullanarak.

.JPG dosyasını biçimine dönüştürmek istiyorsanız, tüm .PNG görsellerinizi toplu olarak .JPG biçimine dönüştürmenin çeşitli yolları aşağıda verilmiştir. .PNG ile komutları ihtiyaçlarınıza göre değiştirebilirsiniz.

1. 'ls' ve 'xargs' Komutlarını Kullanarak PNG'yi JPG'ye Dönüştürün

ls komutu, tüm png görsellerinizi listelemenizi sağlar ve xargs, tüm resimleri dönüştürmek için standart girişten bir convert komutu oluşturup yürütmenizi mümkün kılar. .png görsellerini .jpg'ye dönüştürün.

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

Yukarıdaki komutta kullanılan seçeneklere ilişkin açıklama.

  1. -1 – işaret, ls'e her satırda bir resim listelemesini söyler.
  2. -n – vaka için 1 olan maksimum bağımsız değişken sayısını belirtir.
  3. -c – bash'a verilen komutu çalıştırma talimatını verir.
  4. $ {0%.png}.jpg – dönüştürülen yeni görüntünün adını belirler, % işareti eski dosya uzantısının kaldırılmasına yardımcı olur.

Tüm dosyaları değiştirilme tarihi ve saatine göre listelemek için ls -ltr komutunu kullandım.

Benzer şekilde, yukarıdaki komutu değiştirerek tüm .jpg görsellerinizi .png biçimine dönüştürmek için yukarıdaki komutu kullanabilirsiniz.

2. GNU 'Paralel' Komutunu Kullanarak PNG'yi JPG'ye Dönüştürün

GNU Paralel, kullanıcının paralel olarak standart girdiden kabuk komutları oluşturmasına ve yürütmesine olanak tanır. Sisteminizde GNU Parallel'in kurulu olduğundan emin olun, aksi takdirde aşağıdaki uygun komutları kullanarak kurun:

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

Parallel yardımcı programı yüklendikten sonra, tüm .png görsellerini standart girişten .jpg biçimine dönüştürmek için aşağıdaki komutu çalıştırabilirsiniz.

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

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

Nerede,

  1. {comcode> – giriş kaynağından okunan tam bir satırla değiştirilen değiştirme dizesi olan giriş satırı.
  2. {.comcode> – giriş satırı eksi uzantısı.
  3. ::: – giriş kaynağını belirtir; bu, yukarıdaki örneğin komut satırıdır; burada *png veya *jpg argümandır.

Alternatif olarak, tüm görsellerinizi gösterildiği gibi toplu dönüştürmek için ls ve parallel komutlarını birlikte de kullanabilirsiniz:

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

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

3. 'For loop' Komutunu Kullanarak PNG'yi JPG'ye Dönüştürün

Kabuk betiği yazma zahmetinden kaçınmak için, komut satırından aşağıdaki gibi bir for döngüsü çalıştırabilirsiniz:

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

Yukarıdaki komutta kullanılan her seçeneğin açıklaması:

  1. -c for döngüsü ifadesinin tek tırnak içinde yürütülmesine olanak tanır.
  2. image değişkeni, dizindeki görsellerin sayısını belirten bir sayaçtır.
  3. Her dönüştürme işlemi için echo komutu, $image satırında & biçimine dönüştürülen bir png görüntüsünün jpg biçimine dönüştürüldüğü ve bunun tersinin de geçerli olduğu konusunda kullanıcıya bilgi verir. #36 {image%.png}.jpg ”.
  4. “$ {image%.png}.jpg”, dönüştürülen görselin adını oluşturur; burada %, eski görsel formatının uzantısını kaldırır.

4. Kabuk Komut Dosyasını Kullanarak PNG'yi JPG'ye Dönüştürün

Önceki örnekte olduğu gibi komut satırınızı kirletmek istemiyorsanız aşağıdaki gibi küçük bir komut dosyası yazın:

Not: Tek bir formattan dönüştürme için .png ve .jpg uzantılarını aşağıdaki örnekte olduğu gibi uygun şekilde değiştirin başka bir.

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

Bunu convert.sh olarak kaydedin ve betiği çalıştırılabilir hale getirin ve ardından onu resimlerinizin bulunduğu dizinden çalıştırın.

chmod +x convert.sh
./convert.sh

Özetle, .png görsellerini .jpg formatına (veya tam tersi) toplu olarak dönüştürmenin bazı önemli yollarını ele aldık. Görselleri optimize etmek istiyorsanız Linux'ta png ve jpg görsellerinin nasıl sıkıştırılacağını gösteren kılavuzumuzu inceleyebilirsiniz.

Terminalde görüntüleri bir formattan diğerine dönüştürmek için Linux komut satırı araçları da dahil olmak üzere diğer yöntemleri de bizimle paylaşabilir veya aşağıdaki yorum bölümü aracılığıyla soru sorabilirsiniz.


Tüm hakları saklıdır. © Linux-Console.net • 2019-2024