Generation App – Día 11 – Usar fotos con tu aplicación de Windows Phone

Buenas imágenes captan bastante la atención, y la facilidad de tomar y seleccionar fotos puede contribuir al uso de una aplicación. En el API de Windows Phone, hay ciertas aplicaciones innatas al sistema operativo que podemos invocar como “Tareas”.

Tarea de Captura de fotos

Para sacar provecho de esta funcionalidad, te mostrare como implementarlo en un proyecto de ejemplo.

  1. Abre Expression Blend, crea un nuevo proyecto de Silverlight para Windows Phone.

  2. Agrega un botón en el centro de la pantalla y agrégale un evento de tipo “Tap”. De esta forma:

  3. Ahora abre el c# asociado a la pagina MainPage, denominado MainPage.xaml.cs, y en las librerías, debajo de la instrucción “using Microsoft.Phone.Controls;”, debes agregar la siguiente referencia:

    using Microsoft.Phone.Tasks;
  4. Debes declarar un atributo de tipo CameraCaptureTask antes del método constructor:

    CameraCaptureTask cameraCaptureTask;
  5. Dentro del constructor, después de la instrucción “InitializeComponents();”, debes instanciar y crear un evento que se dispara al momento de tomar una foto, y aceptarla:

    cameraCaptureTask = new CameraCaptureTask();
    cameraCaptureTask.Completed += new EventHandler<PhotoResult>(cameraCaptureTask_Completed);
  6. Ahora en el método del evento que agregaste del Botón, agrega la siguiente instrucción para invocar la aplicación de la cámara:

    try
    {
        cameraCaptureTask.Show();
    }
    catch (System.InvalidOperationException ex)
    {
        MessageBox.Show("An error occurred.");
    }
  7. Ahora agrega el siguiente método, que es el manejador de evento cuando se haya tomado una foto y lo aceptes en lugar de retomar la foto:

    void cameraCaptureTask_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            MessageBox.Show(e.ChosenPhoto.Length.ToString());
    
            //Codigo para desplegar la foto tomada en una pagina con un controlador image
            //System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage();
            //bmp.SetSource(e.ChosenPhoto);
            //myImage.Source = bmp;
        }
    }
  8. Ahora queda es compilar y ejecutar el programa en el emulador Windows Phone.

Ya ves con unas cuantas líneas de código, puedes aprovechar toda la aplicación de la cámara, donde puedes manipular manualmente la configuración de captura, como el iso, escenario, efectos, etc.

Tarea de Selección de Imágenes

Ahora en este video te enseñare como puedes seleccionar una imagen

  1. Abre Expression Blend, crea un nuevo proyecto de Silverlight para Windows Phone.

  2. Agrega un botón en el centro de la pantalla y agrégale un evento de tipo “Tap”. De esta forma:

  3. Ahora abre el c# asociado a la pagina MainPage, denominado MainPage.xaml.cs, y en las librerías, debajo de la instrucción “using Microsoft.Phone.Controls;”, debes agregar la siguiente referencia:

    using Microsoft.Phone.Tasks;
  4. Debes declarar un atributo de tipo PhotoChooserTask antes del método constructor:

    PhotoChooserTask photoChooserTask;
  5. Dentro del constructor, después de la instruccion InitializeComponents();, debes instanciar y crear un evento que se dispara al momento de tomar una foto, y aceptarla:

    photoChooserTask = new PhotoChooserTask();
    photoChooserTask.Completed += new EventHandler<PhotoResult>(photoChooserTask_Completed);
  6. Ahora en el método del evento que agregaste del Botón, agrega la siguiente instruccion para invocar la aplicacion de la camara:

    try
    {
        photoChooserTask.Show();
    }
    catch (System.InvalidOperationException ex)
    {
        MessageBox.Show("An error occurred.");
    }
  7. Ahora agrega el siguiente método, que es el manejador de evento cuando se haya tomado una foto y lo aceptes en lugar de retomar la foto:

    void photoChooserTask_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            MessageBox.Show(e.ChosenPhoto.Length.ToString());
    
            //Code to display the photo on the page in an image control named myImage.
            //System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage();
            //bmp.SetSource(e.ChosenPhoto);
            //myImage.Source = bmp;
        }
    }
  8. Ahora queda es compilar y ejecutar el programa en el emulador Windows Phone.

Puedes ver que las lecciones de este día son particularmente útiles para aquellos trabajando con imágenes en su aplicación, y gracias al API de Windows Phone, puedes ver como nos facilita estas tareas.

Autor: Jorge Ramirez      Síguelo en twitter @JorgeRamirezMSP
Publicación original –> http://j.mp/UTF6Ac
Fuente 1 –> http://j.mp/13fYiLy
Fuente 2 –> http://j.mp/TIGtSz

Anuncios

1 comentario

Archivado bajo Windows Phone

Una respuesta a “Generation App – Día 11 – Usar fotos con tu aplicación de Windows Phone

  1. Pingback: Con Generation App nunca fue tan fácil desarrollar para Windows Phone « El Blog de MSP para Latinoamerica [BETA]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s