Linuxでは、いくつかのコマンドラインツールを使用して、画像ファイル形式をPNGからJPGに、JPGからPNGに変換できます。画像サイズを圧縮し、画像をより速く読み込むのに役立ちます。
このような目的に使用できるさまざまなコマンドラインツールがあります。それらのツールのいくつかは、ImageMagickツールのメンバーであるConvertです。 Mogrifyコマンドを使用して、このような画像形式を変換することもできます。
まず、次のコマンドを使用して必要なパッケージをインストールします。
$ sudo apt install imagemagick
ここでは、変換コマンドラインツールを使用します。 convertコマンドの基本的な構文は次のとおりです。
$ convert [input-option] input-file [output-option] output-file
PNGをJPGに、JPGをPNGに変換するさまざまな方法について、以下で説明します。
「ls」および「xargs」コマンドを使用してPNGをJPGに変換する方法
ここで、「ls」コマンドはすべてのjpg画像を一覧表示し、xargsは変換コマンドの作成と実行に役立ちます。
JPGをPNGに変換するには
$ ls -1 *.jpg | xargs -n 1 bash -c 'convert "$0" "${0%.jpg}.png"'
PNGをJPGに変換するには
$ ls -1 *.png | xargs -n 1 bash -c 'convert "$0" "${0%.png}.jpg"'
ここで
-1 =このフラグは、「ls」に通知して、1行に1つの画像をリストします
-n=引数の最大数を指定するために使用されます。ここでは1が使用されます。
-c=提供されたコマンドを実行するようにbashに指示します。
$ {0%.jpg} .png =新しく変換された画像の名前を設定するために使用され、%記号は古いファイル拡張子を削除するために使用されます。
上記のコマンドを使用して、pngをjpg形式に正常に変換したことがわかります。上記のコマンドを使用して、jpgをpngに変換することもできます。
シェルスクリプトを使用してPNGをJPGに変換する方法
pngをjpgに、またはその逆に変更するための小さなスクリプトを作成します。そのようなスクリプトはより明確に見えます。例:
#!/bin/bash for image in *.png; do convert "$image" "${image%.png}.jpg" echo "image $image converted to ${image%.png}.jpg" done exit 0
次に、それをtest.shとして保存し、以下のコマンドを実行して実行可能にします。次に、画像が保存されているディレクトリに移動して、スクリプトを実行します。
上記のスクリプトを少し変更するだけで、jpgからpngに変換することもできます。
$ sudo chmod +x test.sh
$ ./test.sh
上記のコマンドを使用して、pngをjpg形式に正常に変換したことがわかります。 .pngと.jpgの拡張子を入れ替えることで、jpgをpngに変換することもできます。
画像サイズを小さくしてJPGをPNGに変換する方法
画像サイズを小さくして画像形式をjpgからpngに変換するには、次のコマンドを実行します。
例:
$ convert test.jpg -resize 40% test.png
ここで、画像サイズを縮小してjpgをpngに変換したことがわかります。
結論:
この記事では、コマンドライン変換ツールなどの便利なコマンドラインツールを使用して、画像拡張子をpngからjpgに、またはその逆に変換する方法を学びました。ありがとうございます!