カメラでクラウディア(Webカメラと画像を合成保存)2カ月で160本作った還暦開発者が送る10のアプリ開発ノウハウ(1)(2/5 ページ)

» 2013年10月30日 18時00分 公開
[薬師寺国安,PROJECT KySS]

Windows ストアアプリプロジェクトの作成

 VS2013のメニューから[ファイル(F)]→[新規作成(N)]→[プロジェクト(P)]と選択する。次に、[テンプレート]から[Windows ストア]を選択し、右に表示される項目名から[新しいアプリケーション(XAML)]を選択する。[名前(N)]に任意のプロジェクト名を指定する。ここでは「CameraWithClaudia.xaml」という名前を付けている。

 [ソリューション・エクスプローラー]内に「Images」というフォルダーを作成しクラウディアの画像を取り込んでおく。同じく、「WAV」というフォルダーを作成して、カメラのシャッター音となる「.wavファイル」を追加しておく。またCamerWithClaudiaプロジェクトと並列に下記リスト1のXMLを追加しておく。

 1ページ目にリンクを置いたサンプルファイルには、画像や「.wavファイル」、XMLファイルは追加済みだ。

画像ファイルを管理するXMLファイル(claudia.xml)の作成

 VS2013のメニューから[プロジェクト(P)]→[新しい項目の追加(W)]と選択して、[データ]から[XMLファイル]を選択し、[名前(N)]に「claudia.xml」と指定する。

 XMLエディタが起動するので、リスト1のような内容のXMLを作成する。

 Item要素のSmall属性に指定している画像名は、[ソリューション・エクスプローラー]内のImagesフォルダー内の画像名を記述している。

 自分の気に入った画像を使いたい場合は、このXMLのSmall属性のファイル名を変更し、ソリューション・エクスプローラー内のImagesフォルダーに、その画像を配置しておく必要がある。

<?xml version="1.0" encoding="utf-8" ?>
<Claudia>
  <Item  Small="claudia_01.png"/>
  <Item  Small="claudia_02.png"/>
  <Item  Small="claudia_03.png"/>
  <Item  Small="claudia_04.png"/>
</Claudia>
リスト1 XML文書ファイル(claudia.xml)

各デバイスへのアクセス許可と画像ライブラリへのアクセス許可の設定

 Webカメラを使用したり、ピクチャライブラリ―内にフォルダーを作成して画像を保存したりするため、各デバイスや画像ライブラリへのアクセス許可を設定する。

 [ソリューション・エクスプローラー]内にある、Package.appxmanifestファイルをダブルクリックして開く。[機能]タブ内の「機能:」にある「マイク」「画像ライブラリ」「Webカメラ」にチェックを付ける(図7)。

図7 「マイク」「画像ライブラリ」「Webカメラ」にチェックを付ける

Nugetパッケージの管理

 [ソリューション・エクスプローラー]の[全てのファイルを表示]アイコンで、[参照設定]を表示する。[参照設定]を選択し、マウスの右クリックで表示されるメニューから[Nugetパッケージの管理]を選択し、表示される画面の[オンライン]を選択し、[検索]欄に「WinRTXamlToolkit」と入力する。すると、図8のように、WinRT XAML Toolkitが表示されるので、「インストール」をクリックしてインストールする。

図8 「Nugetパッケージの管理」から WinRT XAML Toolkitをインストールする

 WinRT XAML Toolkitには合成した画像を保存するメソッドが含まれている。同様にしてWriteableBitmapExもインストールしておく。WriteableBitmpExには画像の合成に使用するメソッドが含まれている(図9)。

図9 「Nugetパッケージの管理」から WriteableBitmapExをインストールする

 [ソリューション・エクスプローラー]内の[参照設定]を見ると、これら2つのパッケージがインストールされているのが分かる。また、これらパッケージの情報を記述した、packages.config ファイルも作成されている(図10)。

図10 [参照設定]内にWinRTXamlToolkitとWriteableBitmapEx.WinRTのパッケージが追加されている

 もし、これらのパッケージを削除して再インストールする場合は、「参照設定」内のパッケージを削除しただけでは、インストール済みの扱いになってしまうため、必ず、パッケージの情報の記述されたpackages.configも一緒に削除する。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。