ugnagブログ

たいした内容はありません。思いつきで書いているだけ。
開発日記がメインかな。

<< 自炊作業が進まない!! | main | これはバグだろ? >>

自炊用画像編集ツール

前回、作り始めたということを書いたので、その続き。
とにかく困ったのが、ImageMagikとの連携。


例えば、傾き補正をアプリで行っても、実際にImageMagikに処理させると、違っていたりする。


他にも、コントラストや明度なども同じようなことが発生するため、
ここは諦めて全てImageMagikに処理させることにした。


その場合、処理時間が多少かかってしまうのだが、それはやむを得ないこととした。



次に、ImageMagikをプロセス実行させて、結果の画像を画面に表示するわけだが、

例えば、傾き補正の値は、マウスのホイールで増減出来るようにしたのだが、

そうすると値の変化が連続して発生する。



発生したイベントに対する処理はImageMagikで行うのだが、マウスのイベント発生の方が

処理よりも速いため処理がキューにたまってしまい、操作性がイマイチとなる。


そこで、後から発生したイベントのみを処理し、処理中のものやキューに溜まっていたものは

破棄するというスレッドサービスを作成した。


また、一連の処理の最初と最後にメッセージを飛ばして、その間は「処理中」のメッセージを

表示するようにした。



これがなかなか手こずった。

pure javaなら問題はないのだが、プロセス起動をしていることと、それの結果を

標準出力から読み取るスレッドが絡んできて、わけわからない状態。




その他には、データを操作する入力画面が複数あり、1箇所から変更すると、別の箇所にも

結果を反映させるのだが、そのうちの1つであるテーブルが絡むとイベントがループしてしまう。


まあ、これもなんとか解決したのだが、これにはどうやって解決するか結構悩んだ。




このアプリでは、処理モードが3つあり、そのうちの1つ(メインの処理)は、結構出来てきた



とりあえず、書き出してみると、


・カバーイメージ処理モード  未処理
・グラビア分割モード  未処理
・補正処理       ??(後、何が残っているだろ?)
・プロジェクトの保存/読み込み  未処理


大きく分けるとこんな感じだ。



もう少ししたら、画像も公開出来る予定。
プログラム・開発(その他開発) | comments (0) | -

Comments

Comment Form

本文に書いて下さい
本文にh抜きで書いて下さい