質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

ImageMagick

ImageMagickとは、画像の表示や操作を行うオープンソースのソフトウェアです。プログラムはCで書かれており、GIFやJPEG、PDFなど画像ファイルフォーマット100種類以上に対応しています。

Q&A

解決済

1回答

670閲覧

ImageMagickのconvert処理の自動化

narish

総合スコア14

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

ImageMagick

ImageMagickとは、画像の表示や操作を行うオープンソースのソフトウェアです。プログラムはCで書かれており、GIFやJPEG、PDFなど画像ファイルフォーマット100種類以上に対応しています。

0グッド

1クリップ

投稿2019/08/18 05:59

編集2019/08/18 07:45

Finderで選択した2枚の画像をconvertコマンドで結合する流れを自動化したいと思い、Automatorを試してみました

  • やりたいこと

Finderで選択した画像を右クリックから処理したい
→Automatorのクイックアクション作成を利用
Finderで名前昇順になっている画像を、左から[画像2][画像1]の順で結合したい
→convertコマンドの入力の際に順序を入れ替える必要がある
選択した画像があるディレクトリ内に、作成した画像を[画像1]の名前で保存し、元の2枚は子ディレクトリに移したい
選択した画像やその親ディレクトリのファイル名に空白を含んでいても実行できるようにしたい
結合する画像の拡張子によらず実行したい
→convertコマンドの出力の部分に、元の画像と同じ拡張子を付与したい

以上を実現すべく試行錯誤してみましたが、ちょっと手詰まりなようで、お知恵を拝借したいと存じます
画像のようにフローを組み、ホームディレクトリに画像を生成して元の画像を子ディレクトリ内に移すまではできましたがその先の処理がわかりません
(正確に言うと、フロー内で子ディレクトリを作成した際に、入力として受け取った元の画像が子ディレクトリ内にコピーされるので、元の画像を削除する手順を踏んでいます)
もっと簡潔にシェルスクリプト内で実現する方法はないでしょうか…?

フロー1
フロー2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

少し前進した内容を、以前こちらで改めて質問させて頂きました
時間が経って自分の理解がさらに進んだようで、ワークフローを見直し解決しましたので更新します

利用しているもの

・GetFilePath
Automator用プラグイン
フリーウェア

・ImageMagick
画像処理コマンド
Homebrew経由でインストール

ワークフロー

1
2
3
4
5

変数展開とかいう変態機能で、元のファイルパスから作業ディレクトリとファイル名の割り出しをしてみました
結合したファイルの書き出し先を指定するのにcdコマンドだとどうにもうまくいかなかったのですが、標準出力に流せばcatできると知ったので先人に感謝です
シェルスクリプトにまとめても良さそうですが、右クリックから処理を始められるのは便利です

使用方法

Automatorで上記のワークフローを作成
最後のシェルスクリプト部分で、インストールしたImageMagick(convert)のファイルを直接指定
Finderでファイルを右クリック>サービスで、作成したワークフローを起動
ウィンドウが開いてファイルの選択を求められるので、左側に配置する画像を選択
再度選択を求められるので、右側を選択
最初に右クリックしたファイルの名前で画像が生成される
元の画像は、右クリックしたファイルと同じ階層の新規フォルダに入れられる

こんな流れです

ファイル名やフォルダ名に空白その他記号を含んでも実行できます(はずです)
起動が重いのはマシンパワーによるものか……

投稿2020/05/28 10:29

narish

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問