画像にFilterをかけてPicturesHUBに保存する
今回は、PicturesHUBから読み込んだ画像にフィルタをかける処理を紹介します。フィルタをかけるには、ImageToolsというLibrayを使用します。下記URLよりImageToolsをダウンロードしてください。
→参照:ImageTooss(CodePlex)
ダウンロードするファイルは、拡張子がrarになっていますので、7-zipという解凍ツールを使ってください。7-zipは下記URLよりダウンロードできます。
→参照:7-Zip(7-ZIP.org)
また下記URLより、WriteableBitmapEX_v0.9.8.5.zipをダウンロードして、任意のフォルダに解凍しておいてください。
→参照:WriteableBitmapEx 0.9.8.5(CodePlex)
ImageTools 0.30.rarを7-zipで解凍すると、binというフォルダ内にPhoneとSL4というフォルダができています。Phoneフォルダ内にあるdllファイルを使用します(図1)。
図1:binフォルダ内にPhoneとSL4のフォルダができている(クリックで拡大) |
まずは、このプログラムで実装する機能の動作を、下記に解説しておきます。
このサンプルは、エミュレーターでも動作を確認できますが、原則として実機(現時点ではIS12T)での動作を基本とします。
実機にプログラムをデプロイし、表示される[画像読み込み]ボタンをタップすると、PicturesHUB内の画像が表示されます、任意の画像を選択すると、Imageコントロール内に選択した画像が表示されます。
フィルタの一覧を表示したリストボックスから、任意のフィルタを選択すると、画像に、そのフィルタが適用されます(図2)。また、[保存]ボタンをタップすると、フィルタのかかった画像がPicturesHUBに保存されます(図3)。
図2:読み込んだ画像に各種フィルタを適用した(クリックで拡大) |
図3:セピアのフィルタのかかった画像をPicturesHUBに保存した(クリックで拡大) |
PicturesHUBに保存した画像は、Facebookで共有したり、壁紙に設定したりすることができます。
サンプル一式は、会員限定特典としてダウンロードできます。記事末尾をご確認ください。
実機(IS12T)で動かした動画はこちらです。
プロジェクトの作成
VS 2010のメニューから[ファイル(F)/新規作成(N)/プロジェクト(P)]を選択します。次に、「Windows Phone アプリケーション」を選択して、「名前(N)」に任意のプロジェクト名を指定します。ここでは「WP71_ImageFilter」という名前を付けています。Windows Phoneのバージョンは7.1を選択します。
VS2010のメニューから[プロジェクト(P)/参照の追加(R)]と選択して、「参照」タブで、図1で解凍した、ImageTools.dll、 ImageTools.Filtering.dll、 ImageTools.Utils.dllを追加しておいてください(図4)。また、WriteableBitmapEX_v0.9.8.5.zipを解凍してできる、WriteableBitmapEXWinPhone.dllも追加しておきます(図5)。また、Microsoft.Xna.Frameworkも追加しておいてください。
図4:「参照」タブから、ImageTools.dll、 ImageTools.Filtering.dll、 ImageTools.Utils.dllを追加する(クリックで拡大) |
図5:「参照」タブから、WriteableBitmapEXWinPhone.dllを追加する(クリックで拡大) |
「画像にFilterをかけてPicturesHUBに保存する」サンプルプログラム