#概要
タイトルの通りです。GIMP等の画像処理ソフトで差分作成は可能すが、正直面倒臭いのでプログラムを書いて済ませます。
#ドラッグ&ドロップを実装する
まずとりあえずUIをどうするかなーっと十数分考えた結果、次のような画面になりました。コマンドライン引数から、同時に読み込む画像数は幾らでも増やせるようにしています。
で、「参照ボタンを毎回押す」だけでも良いと思っていたのですが、ファイル選択ダイアログを押す度に毎回カレントディレクトリが元に戻るのでクソ面倒なことに気づいたので、ドラッグ&ドロップ機能も付加することにしました。
ドラッグ&ドロップ機能自体は、以前書いたことがあるので楽々実装できたのですが、問題は「どのオブジェクトにドロップされたかを判定するか」でした。その回答としてateraiさんから教えられたのは、TransferHandler.TransferSupport#getComponent()でドロップされたオブジェクトを取得するといったものでした。なるほど……。
#結局「共通」「非共通」とは何よ?
大きく悩んだのはそれぐらいで、その他はつつがなく実装できました。
処理結果については、次の画像が参考になるでしょう。
#GitHubでの配布先はこちら
ソースコードも付いてます!
pic_diff(画像比較&差分出力) Ver.1.0