Windows store apps 如何创建一个相机窗体,将图像和视频保存到我们想要的文件夹中
我想创建一个注册表单,用户可以在Windows应用商店中为他们的个人资料拍摄照片或短视频(将infor保存在.json中)。有人帮我如何使相机拍摄照片,以及如何保存照片。Windows store apps 如何创建一个相机窗体,将图像和视频保存到我们想要的文件夹中,windows-store-apps,Windows Store Apps,我想创建一个注册表单,用户可以在Windows应用商店中为他们的个人资料拍摄照片或短视频(将infor保存在.json中)。有人帮我如何使相机拍摄照片,以及如何保存照片。 网络上有很多例子。 首先添加到清单 <Capabilities> <DeviceCapability Name="webcam" /> </Capabilities> 在btnTakePhoto_点击事件中 btnTakePhoto.IsEnabled = false;
网络上有很多例子。
首先添加到清单
<Capabilities>
<DeviceCapability Name="webcam" />
</Capabilities>
在btnTakePhoto_点击事件中
btnTakePhoto.IsEnabled = false;
btnStartPreview.IsEnabled = false;
InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream();
await mediaCapture.CapturePhotoToStreamAsync(ImageEncodingProperties.CreateJpeg(), stream);
stream.Seek(0); // текущую позицию потока устанавливаем в 0
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(stream);
captureImage.Source = bitmap;
if (isPreviewing == true) await mediaCapture.StopPreviewAsync();
isPreviewing = false;
下面是一个大例子:
您有Windows 8.1或UWP应用程序吗?我有这两个应用程序。我希望看到的摄像头将显示在我想要的位置
using Windows.Media.Capture;
using Windows.UI.Xaml.Media.Imaging;
using Windows.Media.MediaProperties;
using Windows.Storage.Streams;
MediaCapture mediaCapture;
bool isPreviewing = false;
private async void Page_Loaded(object sender, RoutedEventArgs e)
{
MediaCaptureInitializationSettings set = new MediaCaptureInitializationSettings();
set.StreamingCaptureMode = StreamingCaptureMode.Video;
mediaCapture = new MediaCapture();
await mediaCapture.InitializeAsync(set);
}
private async void btnStartPreview_Click(object sender, RoutedEventArgs e)
{
if (isPreviewing == false)
{
previewElement.Source = mediaCapture;
await mediaCapture.StartPreviewAsync();
isPreviewing = true;
}
previewElement.Visibility = Visibility.Visible;
}
btnTakePhoto.IsEnabled = false;
btnStartPreview.IsEnabled = false;
InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream();
await mediaCapture.CapturePhotoToStreamAsync(ImageEncodingProperties.CreateJpeg(), stream);
stream.Seek(0); // текущую позицию потока устанавливаем в 0
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(stream);
captureImage.Source = bitmap;
if (isPreviewing == true) await mediaCapture.StopPreviewAsync();
isPreviewing = false;