Silverlight Advent Calendar 2011 15日目の記事だよ! http://atnd.org/events/22001
プログラミングをやっていれば、だれでも一度はピクセル処理は書いたことがあるでしょう。
ProcessingとかOpenCVとかみんな通る道ですよね。
Silverlightではピクセル処理を使って、コントロールにエフェクトをかけることができます。
HLSL(High Level Shader Language)っていうDirectX用のShaderの言語が使われてますね。
Expression Blendから適当なコントロールを選択して外観プロパティからエフェクトを選択すると、
デフォルトでDropShadowとBlurEffectが利用できます。
こんなかんじ。
でも、この2つしかないのはつまらないです。かといってHLSLとかわりとだるいじゃないですか。
そんなときはライブラリを使いましょう。
http://xhader.codeplex.com/
ダウンロードしてDLLをインポートするだけで使えちゃいます。
例えばこんな魚眼レンズなエフェクトも書けることができます。
これはSmoothMagnifityEffectですね。
ほかにもいっぱいエフェクトがあってたのしいです。
エフェクトのDEMOプロジェクトも着いているので、てっとりばやくあそべますよ。
ところでみなさん、EffectにStoryboardが適用できるって知ってました?
Effectのプロパティは共通プロパティなので、こんなこともできちゃうんですよ。
この魚眼レンズエフェクトをマウスカーソルと同期させれば、まるで虫眼鏡のようなインタフェースなんかも簡単にできちゃいますね。
いやー、ビヘイビアにエフェクトにアニメーション
Non-Cordingでここまでできちゃうなんて素敵ですねー!