省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

Mac OS用 応急アップデート・ImageJ対応・相対RGB色マスク作成ツール (Ver. 0.20a)

 本年6月にアップデートした下記ツールですが、

yasuo-ssi.hatenablog.com

 Mac OS上で、閾値設定のプレビュー画面が正しく動作しないのを発見し、修正したバージョンを公開します。ダウンロードはこちらから。なお、WindowsLinuxユーザは入れ替える必要はありません。ダウンロードしたプログラムの冒頭に、

# Ver. 0.20a  (2022.8)

と書かれていればMac OS用に修正済みです。

 

修正前プログラムの動作

 修正前の状態では、 スライダーを使って上下の閾値を設定しても、プレビュー画面に何の変化もありませんでした。

修正後プログラムの動作

 修正後は閾値を設定すると、WindowsLinuxと同じ様に、選択範囲は白、非選択範囲は黒のバイナリーマスク画像がプレビュー画面に現れます。

 なお、Mac OS上で正しく動かなかった原因ですが、これはMac OS上のJavaのバグのためです。調べてみると、Mac OS上のJavaでは getValueIsAdjusting() メソッドが正しい値を返さないことがわかりました。どんな状態でも、このメソッドがTrueの値しか返しません。元のプログラムでは、このメソッドがFalseを返す時に、画像を更新するようになっていました。このため、一切画像が更新されず、プレビューが動作しませんでした。これを回避するために、getValueIsAdjusting() による判定をスキップすることにしましたが、このため、少しでもスライダーを動かすたびに頻繁に描画を更新するようになり、プレビュー動作がWindowsLinuxに比べに重くなっています。残念ながら、現時点では仕方ありません。ただM1チップの Mac Book Airで、動きはもっさりではありますが、我慢できないほどではない、という感じです。

 WindowsLinuxでは getValueIsAdjusting() メソッドが正しく動きますので、プログラムを入れ替える必要はありません。こちらの入れ替えたプログラムでもWindowsLinux上で動きますが、プレビュー動作が重くなってしまい使い勝手が悪くなり、入れ替えるメリットはありません。既存の Ver. 0.20 を引き続きお使い下さい。

 なお、IntelMac OS上のJavaでは問題が再現しない可能性があります。問題がなければ、Ver. 0.20a を使わず、そのまま0.20を使って下さい。

 また、 Java のアップデートによってgetValueIsAdjusting() メソッドのバグが直り、問題が発生しなくなる可能性があります。その場合はバージョンを0.20に戻してください。