色々対応させました
・クリップボード対応
・トリミング→クリッピングに名称変更
・トリミング追加
・メディアンカットちょっとだけ修正。
・回転対応(角度指定はまだ対応してない)
・反転対応
・表示の背景色変更対応
・フィルタ処理全般をアルファチャンネル込みで計算するように変更
→そのためレンズフィルタのバッファをdoubleからfloatに変更。結果あんま見た目変わらなかった^^
・色数表示用にプロパティの追加
・ヒストグラムの最大化追加
・組織的ディザリングで、色の距離を調べるのに、絶対値距離かユークリッド距離か選択できるように。
これぐらいかな。
あとLa*b*でパレット減色作ってみたんだけど、
たしかに綺麗には減色できるけど、
肝心のパレットを作成するメディアンカットがRGBで計算してるし性能貧弱だし、
パレット減色La*b*でいくなら、メディアンカットもこれを意識してアルゴリズム変えないといけない。
結局面倒になってRGBに戻しました^^
計算もpow使わないとLa*b*に変換できないし、計算コストも大変そう。
まあお遊び程度の減色っていうことではい。
トリミングをクリッピングに名前変更したのは、どうやらニュアンスが色々とあるらしい。
いや、元々トリミングは和製英語らしいんだけど、それも加味して考えてもうん。
自分なりに色々調べて考えた結果、静止画において
クリッピング … ある部分を注目させるためにカット
トリミング … 余分な部分を見せないためにカット
というわけで、それぞれやる結果は同じなんだけど、
使い方が違うから、それ用にコーナーを増やしてみた。
回転機能は、度単位の回転とか需要ありそう。
写真がちょっと傾いちゃったとか。
でもこれ、普通にやるとジャギが出るから、補完処理しないといけない。
そこらへんがまだよくわかんないから対応できない。
クリップボード対応は便利だと思う。
でも透明部分に対応していないソフトへ貼り付けると、黒くなってしまうから困る。
いや、対応していてもウェブアートデザイナーとか貼り付けたら黒くなったし。
DIBのアルファチャンネルの扱い方がJAVAとWindowsで違うとか?なんかよくわかんない。
アルファチャンネルも維持したい場合は、クリップボード経由せずに、pngで経由しかないのかな。
同じオレンジビューアに対しては、クリップボード経由でもアルファチャンネルが適応されてるし。
完成した画像処理のツールは、こちらから試すことが出来ます。
コメント