KySSTweet今回は、カメラで写した画像に4種類のフィルタをかけ、それぞれの画像を一度に表示するサンプルです。フィルタのかかった4枚の画像は、それぞれ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をダウンロードして、任意のフォルダに解凍しておいてください。画像にFilterをかけてPicturesHUBに保存する」を参照してください。このプログラムで実装する機能の動作を、下記に解説しておきます。このサンプルは、実機(現時点ではIS12T)でしか動作しませんので、お気を付けください。実機にプログラムをデプロイしたら、[カメラ起動]ボタンをタップしてカメラを起動し、IS12T本体を横向きにして被写体を撮ります。表示された被写体をホールドすると「各種イメージフィルタ」というコンテキストメニューが表示されますので、これをタップします。すると4種類のフィルタのかかった画像が表示されます。フィルタの種類は図1を参照してください。フィルタのかかった画像をホールドすると、「PicturesHUBに保存」というコンテキストメニューが表示されます。このメニューをタップすると、該当する画像がPicturesに保存されます(図2)。図1:横向きのカメラで被写体を写し4種類のフィルタのかかった画像が表示された(クリックで拡大)図2:インバーターの画像をホールドしてPicturesに保存した(クリックで拡大)PicturesHUBに保存した画像は、Facebookで共有したり、壁紙に設定したりすることができます。サンプル一式は、会員限定特典としてダウンロードできます。記事末尾をご確認ください。実機(IS12T)で動かした動画はこちらです。2010のメニューから[ファイル(F)/新規作成(N)/プロジェクト(P)]を選択します。アプリケーション」を選択して、「名前(N)」に任意のプロジェクト名を指定します。ここでは「WP71_CameraCaptureTaskImage」という名前を付けています。Phoneのバージョンは7.1を選択します。ImageTools.Filtering.dll、ImageTools.Utils.dllを追加しておいてください。WriteableBitmapEX_v0.9.8.5.zipを解凍してできる、WriteableBitmapEXWinPhone.dllとMicrosoft.Xna.Frameworkも同様に追加しておいてください。画像にFilterをかけてPicturesHUBに保存する」を参照してください。今回はToolkitに含まれているContextMenuクラスを使用しますので、[.NET]タブ内の「Microsoft.Phone.Controls.Toolkit」も追加しておいてください。Microsoft.Phone.Controls.Toolkit.dllを追加してください。Filter」と指定します。ツールボックスから、Imageコントロールを5個、Buttonコントロールを1個、TextBlockコントロールを1個配置します。全てのImageコントロールのStretchにはUniformと指定します。Stretch列挙体に付いては、下記のURLを参考にしてください。列挙体(msdn)4個の小さなImageコントロールの上に、サイズの大きいImageコントロールを配置します。図3のような配置になります。図3:4個の小さなImageの上にサイズの大きいImageを配置した(クリックで拡大)Image1~Image4のプロパティの[可視性]パネルにある、VisibilityプロパティにCollapsedを指定し、非表示としておきます。設定すると図4のようになります。図4:Image1~Image4のVisibilityプロパティにCollapsedを指定し、非表示にした(クリックで拡大)書き出されるXAMLコードはリスト1のようになります。要素のVisibilityプロパティにCollapsedが指定されている。薬師寺国安(VBプログラマ)と、薬師寺聖(デザイナ、エンジニア)によるコラボレーション・ユニット。HTMLとDirectAnimationの普及を目的として結成。共同開発やユニット名義での執筆活動を行う。XMLおよび.NETに関する著書や連載多数。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。IT会員サービスの概要とメリットをチェック他にもこの記事が読まれていますクラウド技術解説Rancherコードリーディング入門(3/3)2020/2/19開発ツールイベントGitHub、エンタープライズ向けのイベントを国内で開催。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。