前回は、専用のユーザーインターフェースを使用してWebカメラで撮影する方法について説明しました。
今回は、撮影された画像の保存のパスを取得します。
前回のコードで、画像をキャプチャするときに使用したCaptureFileAsyncですが、戻り値としてStorageFileオブジェクトが返されます。
よって、このStorageFileオブジェクトのPathプロパティを調べれば、撮影された画像の保存パスが分かります。
以下に、保存先のパスを表示するコード例を示します。
MainPage.xamlにはButtonコントロールと、パスを表示するためにTextBlockコントロールを配置して試してください
ButtonコントロールのNameプロパティはButton1、TextBlockコントロールのNameプロパティはtxbPathとします。
VBの例
Private Async Sub Button_Click(sender As Object, e As RoutedEventArgs)
Dim dialog = New Windows.Media.Capture.CameraCaptureUI()
'フォーマットをpngに設定
dialog.PhotoSettings.Format = Windows.Media.Capture.CameraCaptureUIPhotoFormat.Png
'写真撮影モードでダイアログを起動
Dim file = Await dialog.CaptureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.Photo)
If file IsNot Nothing Then
'撮影した画像のパスを表示
txbPath.Text = file.Path
End If
End Sub
C#の例
private async void Button_Click(object sender, RoutedEventArgs e)
{
var dialog = new Windows.Media.Capture.CameraCaptureUI();
// フォーマットをpngに設定
dialog.PhotoSettings.Format = Windows.Media.Capture.CameraCaptureUIPhotoFormat.Png;
// 写真撮影モードでダイアログを起動
var file = await dialog.CaptureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.Photo);
if (file != null)
{
//撮影した画像のパスを表示
txbPath.Text = file.Path;
}
}
撮影し[OK]ボタンをクリックすると、以下の様に撮影した画像のパスが表示されます。
Please follow and like us:

コメント