ぶらぶれ
オリンパスのPEN E-PL1に搭載されているフィルタがかっこよかったので、真似してみました。
動作にはSilverlight3が必要です。
caitin.netはネットゲーム用のアップローダです。
PNGで保存とありますが、実際は無圧縮のPNGフォーマットです。ファイルサイズはBMPとほぼ同等となります。
こういった写真を
こんな風に加工できます。
Silverlight3のEffectを使って、ブラー等を行っています。
仕組としては、Imageを生成してEffectを付与、WriteableBitmapにRenderしていく、といった感じですね。
WriteableBitmap.RenderはオブジェクトのOpacity(透明度)もしっかり反映されるため、重ねがけが容易です。
PNG出力についてはJoe Stegman氏のEditableImageとPngEncoderを使用していますが、標準だと32bitで出力されてしまい、BMPよりもファイルサイズが大きくなるので、4を3にするような書き換えで24bitPNGを出力させています。
コントラスト・ブライトネスについてはWindows Presentation Foundation Pixel Shader Effects LibraryのContrastAdjustを使用しています。ほかにもいろいろフィルタがあるので、ユーザが複数選んでかかり具合を調節できる、とかだったら楽しそうですね。
バインディングも多用しています。XAMLはこのへんすごく便利ですねー
あとは画像フォーマットさえ何とかなればいいのですが

Comments