Ich möchte ein Registrierungsformular erstellen und Benutzer können ein Foto oder ein kurzes Video für ihr Profil (speichern Sie die Informationen in .json) im Windows Store. Jemand hilft mir, die Kamera zu aktivieren, um ein Foto zu machen und das Foto zu speichern. enter image description hereSo erstellen Sie ein Kamera-Formular zum Speichern von Bild und Video in Ordner, den wir wollen
0
A
Antwort
0
Es gibt viele Beispiele im Web.
Erste hinzufügen
<Capabilities>
<DeviceCapability Name="webcam" />
</Capabilities>
In manifestieren Startseite XAML:
<StackPanel Orientation="Vertical" HorizontalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,10,0,10">
<Button x:Name="btnStartPreview" Background="Gray"
Click="btnStartPreview_Click" Margin="0,0,0,0" Content="Start preview"/>
<Button x:Name="btnTakePhoto" Background="Gray"
Click="btnTakePhoto_Click" Margin="10,0,0,0" Content="Take a photo"/>
</StackPanel>
<Grid>
<Image x:Name="captureImage" Width="400" Height="400" Visibility="Visible"/>
<CaptureElement x:Name="previewElement" Width="400" Height="400" Visibility="Visible"/>
</Grid>
</StackPanel>
Und in MainPage.xaml.cs
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;
}
Und innen btnTakePhoto_Click Ereignis
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;
Hier ist ein großes Beispiel: Capture photos and video with MediaCapture
Haben Sie Windows 8.1 oder UWP-Anwendung? –
ich habe beide will ich die kamera gesehen wird an dem ort anzeigen ich will –