読者です 読者をやめる 読者になる 読者になる

がりらぼ

WindowsRuntimeの応援ブログ

CameraCaptureUIで写真を撮るには

WindowsRuntime

CameraCaptureUI

WindowsRuntimeでは写真や動画を簡単に撮れるようにCameraCaptureUIというAPIがあります。

これは既に用意されたUIを呼び出し、ユーザーが写真を撮って、StorageFileを取得することができます。

APIが用意した既存のUIを使うのでわざわざ自分でカメラで撮るUIを用意しなくても良いので便利です。

 

(2014/6/29時点でWindowsPhone8.1には対応していません) 17

 

使い方はCameraCaptureUIを初期化し、CaptureFileAsyncメソッドを呼ぶだけです。

CameraCaptureUI captureUI = new CameraCaptureUI();
//Capture
IStorageFile file=await captureUI.CaptureFileAsync(CameraCaptureUIMode.Photo);

 

さまざまな設定を加えて呼ぶことで取得した写真のトリンミング、解像度などもせっていできます。

CameraCaptureUI captureUI = new CameraCaptureUI();
captureUI.PhotoSettings.AllowCropping = true;   //写真をトリンミングするか
captureUI.PhotoSettings.CroppedAspectRatio = new Size(16, 9); //アス比
//captureUI.PhotoSettings.CroppedSizeInPixels = new Size(800,600); //写真のサイズ(アス比とどちらか選択可能)
captureUI.PhotoSettings.Format = CameraCaptureUIPhotoFormat.Jpeg;
captureUI.PhotoSettings.MaxResolution = CameraCaptureUIMaxPhotoResolution.Large3M;//最大サイズ

IStorageFile file=await captureUI.CaptureFileAsync(CameraCaptureUIMode.Photo);

カメラを使う場合、マニフェストファイルの機能タブのWebカメラにチェックをいれておく必要があります。

 

16

 

 

取得した写真は

C:\Users\garicchi\AppData\Local\Packages{AppID}\TempState\

ディレクトリに保存されるのでちゃんとパスを持っています。

18

ImageコントロールのSourceにパスを指定して表示も可能です。

image.Source = new BitmapImage(new Uri(file.Path));

 

CameraCaptureUIで写真を撮るには | garicchi.com