Статьи

Решение моих проблем с Windows Phone

Это будет очень небольшая статья о том, как захватывать изображения с помощью камеры и отображать их при управлении изображением, а также об одной из проблем, с которыми я столкнулся при использовании камеры в 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.

На этом заканчивается статья о фотографировании с использованием камеры и отображении на контроле изображения.