ピックアップ

画像を特定拡張子のに変換するコマンドを試した件

画像ファイルに関して、

処理の中で、

特定の画像に変換したいなとなって、

その変換処理を作ろうとして、

コマンドを調べて、

実際に変換処理を試してみようと思いました。

あくまで、

個人的な備忘録なので、

ChatGPT等に聞きながら、

自分なりに見返したいところだけ、

この記事にメモしてる。

使うコマンド

実際に変換するコマンドは、

convert

というコマンドを使う。

これ、

ImageMagick

というOSS画像処理ツール群。

  • 概要:
    ImageMagickは1987年にJohn Cristy氏によって開発された、画像の読み込み・変換・編集ができるOSSの画像処理ツール群
  • 目的:
    GUIなしで画像を扱いたいニーズ(Webサーバーでの動的画像生成など)に応えるために設計。
    コマンドラインやスクリプトでの画像変換・リサイズ・圧縮・合成などが得意。
  • 主な機能:
    • 画像形式の変換(例: JPEG → PNG / WebPなど)
    • サムネイル生成
    • テキストの描画
    • トリミング、リサイズ
    • アニメーションGIFの作成
  • 対応形式:
    JPEG, PNG, GIF, TIFF, PDF, WebP, SVGなど200以上。

これ、

最近は、

convert の代わりに magick を使うスタイルが推奨されつつあるので、

必要に応じて、

最新情報を収集してほしい。

準備

自分の環境は、

Ubuntu

でやっているので、

以下のコマンドで導入。

sudo apt update
sudo apt install imagemagick

導入できたら、

convert

のコマンドで、

パラメータ表示されるので、

そこまでできたら準備完了。

試す

実際に自分の環境で試した。

コマンドは、

convert old_file new_file.png

のような感じ。

これで問題なければ、

エラーなく何も表示されずに完了。

参考

実際に、

特定ファイル名を含むファイルを、

変換する処理コードは、

こんな感じでシェル組んだ。

#!/bin/bash

PATTERN="*sample*"

find ./ -name "$PATTERN" | while read filepath; do
  dir=$(dirname "$filepath")
  filename=$(basename "$filepath")
  filename_noext="${filename%.*}"
  convert "$filepath" "$dir/${filename_noext}.extension_name"
done

参考まで。

ピックアップ

おすすめ書籍

コメント一覧

コメントはまだありません。

コメント送信

コメントを残す

広告

おすすめ記事