Это будет очень небольшая статья о том, как захватывать изображения с помощью камеры и отображать их при управлении изображением, а также об одной из проблем, с которыми я столкнулся при использовании камеры в Windows Phone.
Давайте напишем код!
Шаг 1: Добавьте кнопку изображения в ContentPanel MainPage.xaml.
<Image Height="450" HorizontalAlignment="Left" Margin="50,0,0,0" Name="Image1" VerticalAlignment="Top" Width="400" />
Шаг 2: Добавьте кнопку на панели приложений или внутри ContentPanel.
<phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBarIconButton Text="camera" IconUri="appbar.camera.png" x:Name="btnCamera" Click="btnCamera_Click"/> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar>
Шаг 3: Добавьте с помощью директивы Microsoft.Phone.Tasks и System.Windows.Media.Imaging.
using Microsoft.Phone.Tasks; using System.Windows.Media.Imaging;
Шаг 4: Добавьте переменную уровня класса CameraCaptureTask в MainPage.xaml.cs
public partial class camera : PhoneApplicationPage { CameraCaptureTask cameraCapture = new CameraCaptureTask();
Шаг 5: Добавьте событие завершения захвата камеры в конструкторе MainPage.xaml.
cameraCapture.Completed + = новый EventHandler < PhotoResult > (cameraCapture_Completed);
Шаг 6: Добавьте метод cameraCapture_Completed в MainPage.xaml.cs, который будет выполняться после захвата фотографии.
void cameraCapture_Completed(object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { Image1.Source = new BitmapImage(new Uri(e.OriginalFileName)); } }
Шаг 7: Добавьте метод btnCamera_Click, который покажет камеру для съемки.
private void btnCamera_Click(object sender, EventArgs e) { try { cameraCapture.Show(); } catch (Exception ex) { } }
Шаг 8. Теперь подключите ваше устройство к ПК и подождите, пока Zune запустится и синхронизируется. Теперь разверните приложение и нажмите на кнопку; вы заметите, что это не сработает.
Теперь отключите ваше устройство от USB, снова запустите приложение и нажмите кнопку, чтобы включить камеру и сделать снимок. После того, как вы нажмете кнопку камеры, появятся две кнопки: принять и повторно принять.
После того, как вы нажмете кнопку «Принять», сделанная фотография появится на элементе управления изображением MainPage.xaml.
Важно: устройство не должно быть подключено к ПК, когда вы снимаете фотографию с помощью CameraCaptureTask.
На этом заканчивается статья о фотографировании с использованием камеры и отображении на контроле изображения.