ConvolutionFilterで遊ぶ その2

前回の続きです。
ConvolutionFilterの理解を深めながら遊ぶためのツールを作ってみました。
>>ツールを表示する


画面左上の大きな画像がメインビューです。ここにフィルタの適用結果が表示されます。
mainView.jpg
メインビューの下にあるボタンをクリックすると、ローカルまたはネット上にある他の画像と差し替える事もできます。
(ネット上にある画像を読み込むにはFlashからのアクセスを許可するためのcrossdomain.xmlが設置されている必要があります。)
loadgui.jpeg
メインビューにマウスカーソルを移動すると、カーソル付近の拡大画像が表示されます。
左がフィルタ適用後で右がオリジナル画像です。
中央のピクセルが、いまカーソルがポイントしているピクセルになります。
zoomView.jpeg
オリジナルのピクセルがどういう計算を経て新しいピクセルに変換されるかをExpressionで確認できます。
計算方法については前回のエントリーを参照して下さい。
「use Hex」をチェックすると、数値が16進数表記になります。
expression.jpeg
KernelはConvolutionFilterに使う行列です。
いまのところ3×3の固定になっています。(将来拡張予定)
この数値を変更すると、フィルタの適用結果がメインビューの画像に反映されます。
kernel.jpeg
いくつかの代表的な行列が、あらかじめプリセットとして用意されています。
プリセットから何か選択するとKernelとメインビューに反映されます。
preset.jpeg
Kernelの数値を変更して、気に入ったエフェクトが出来たら、「Add」をクリックするとプリセットに追加されます。
これはSharedObjectに保存されるので、次回ツールを起動したときにもプリセットに表示されます。
プリセットからアイテムを削除したい場合は、Controlキー(MacはCommandキー)を押しながら
プリセット全体をデフォルトにリセットしたい時は「Revert」をクリックします。
add_revert.jpeg
ConvolutionFilterを連続して適用するとどうなるかを実験するにはこのインターフェイスを使います。
▶ボタンをクリックすると、連続してフィルタを適用します。
×ボタンをクリックすると、適用されたフィルタをリセットします。
スライダーでフィルタを適用するインターバルを調節できます。
repeat.jpeg
作業中の画像やカーネルの値等は、URLパラメータとして渡すことができます。
パラメータつきURLが画面下部に表示されているので、このURLを保存しておけば作業の続きが再開できます。
また「Save as Bookmark」をクリックするとブラウザのブックマークとして保存できます。
bookmark.jpeg


次回はこのツールを使って、さらにConvolutionFilterの挙動を探っていきたいと思います。
つづく…

カテゴリー: ActionScript2, flash パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です