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

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

新規登録して質問してみよう
ただいま回答率
85.48%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

UNIX

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

MacOS(OSX)

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

ImageMagick

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

Q&A

解決済

1回答

1823閲覧

[概ね自己解決] ImageMagickのconvertをAutomatorで自動化する

narish

総合スコア14

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

UNIX

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

MacOS(OSX)

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

ImageMagick

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

0グッド

1クリップ

投稿2019/08/31 08:02

こちらの質問の内容がある程度達成できたのですが、いくつかの問題がまだ残っているので、解決法をお尋ねしたいと思います
問題点は下の方にあります

#自己解決した方法

以下の流れをAutomatorで組みました

1
2
3
4
5

####使用したツール

  • Get File Path

入力のファイルパスを取得するAutomatorプラグイン

####変数

  • createddir

はじめに選択した画像と同じ階層に新しく作成したディレクトリ
結合する2枚の画像の複製先(#結合前)

  • filename

はじめに選択した画像の、拡張子まで含んだファイル名
生成した画像にこの名前をつける

  • imagel
  • imager

ダイアログで指定した左右の画像
convertコマンドに入力として渡す

  • serected

Finderの右クリックから一連のAutomator処理を起動した際に選択していた画像

  • workingsp

はじめに選択した画像が含まれるディレクトリ
ここを作業領域とする

####フロー内のスクリプト

  • プラグインで取得したファイルパス"serected"から、変数展開で親フォルダのパス"workingsp"を取得する
path=$1 echo ${path%/*}
  • プラグインで取得したファイルパス"serected"から、変数展開で選択したファイルのファイル名部分"filename"を取得する
path=$1 echo ${path##*/}
  • 格納した各変数を読み込んで、実際にconvertで結合する部分
cd $1 /usr/local/bin/convert +append $2 $3 $4

####処理の流れ
0. Finderで結合したい画像のうちの片方を右クリックで選択、"サービス>作成したワークフロー"を選択してAutomatorワークフローを起動
この時選択した画像の名前が生成される画像に付く
0. 選択した画像と同階層に新規フォルダが生成される
同名のフォルダが既に存在する場合に置き換えられることはない
0. ダイアログが表示され、左側に配置する画像の選択を求められる
0. 指定した画像が新規フォルダ(もしくは既に存在していた同名フォルダ)に移動する
0. ダイアログが表示され、右側に配置する画像の選択を求められる
0. 指定した画像が新規フォルダ(もしくは既に存在していた同名フォルダ)に移動する
0. 右クリックで選択した画像があったフォルダに、同じファイル名で結合後の画像が生成される

#残る問題点

  • やや重い

Automatorを起動し処理する流れがちょっと重い
古いMacbookを使っている環境のせいもあるかも
一度処理を実行してしまえば、二度目からは気にならない程度までは速くなる
そんなに困ってない

  • やや手間

ダイアログで左右の画像を一枚ずつ選択する必要がある
しかしこの手順を踏むおかげで、逆に、左右の画像を入れ替えたりする場合に柔軟に対応できるメリットもある
(Finder項目の選択を求めるダイアログで表示されるディレクトリを、はじめに右クリックで選択した画像がある階層にする設定も組んであるが("開始番号"の項)、結局ダイアログウィンドウまで画像をドラッグ&ドロップするので必要なかった)
これも別にいい

  • メッセージが表示されない

左右の画像を選択させるウィンドウに表示されるはずのメッセージがなぜか出ない
"左側の画像を選択:"
"右側の画像を選択:"
別にわかってやってるから表示されなくても構わない

  • 絶対パスに注意が必要

とても困っている
結合する2枚の画像の絶対パスの中にエスケープが必要な空白や括弧が含まれていると、最後の結合スクリプトでエラーが起こる
例 "~/images/画像 [右].jpg"
スクリプトの引数をクォーテーションで囲ってみたりしたけどだめ
初心者の猿真似の限界
どなたか、解決していただきたい

再現のためにリンクを貼っておきます
キーはありません
.workflowファイル
(2019/10/30まで)

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

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

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

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

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

guest

回答1

0

自己解決

文頭の、元の質問の方に解決策を更新しました
こちらの質問も、検証のために消さずに置いておこうと思います

投稿2020/05/28 09:54

narish

総合スコア14

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問