Xamarin Forms… por donde empiezo?.

Reactivando el blog luego de varios años perdido por un tema personal, renovado y con muchos conocimientos por compartir en este caso unos buenos libros de Xamarin para entrarle de lleno y sin morir en el intento en el mundo de Xamarin.

Esta excelente tecnología va creciendo conforme pasan los años y ya son más los programadores que se suman a esta tecnología de desarrollo para móviles.

A continuación, hare una lista del TOP 5 libros esenciales para iniciarse en el mundo de Xamarin.

1

cover-preview

Links para descargar o ver de forma gratuita

https://www.amazon.com/Creating-Xamarin-Forms-Preview-Developer-Reference-ebook/dp/B00VYSSNJW

https://www.goodreads.com/book/show/25346255-creating-mobile-apps-with-xamarin-forms-preview-edition-2

https://mega.nz/#!47ZzmZgB!psDTXhcFbU3YL7fNB25n7Ra6Q1HRpBHGMQcAimHi2mg

2

31hsxc0htdl-_us500_pisitb-sticker-arrow-bigtopright35-73_ou01_

Links para descargar, compra o ver de forma gratuita

https://www.amazon.com.mx/Xamarin-forms-Kickstarter-2-0-Compilable-Cross-platform/dp/1523254629

http://www.xforms-kickstarter.com/

3

2018-02-21_11-39-18

Links para descargar, compra o ver de forma gratuita

http://www.bravent.net/wp-content/uploads/2016/02/Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf

4

2018-02-21_11-42-52

Links para descargar, compra o ver de forma gratuita

https://mva.microsoft.com/es-es/training-courses/introduccin-a-xamarin-8766?l=cpph0Dy1_7804984382

5

2018-02-21_11-48-23

Links para descargar, compra o ver de forma gratuita

https://rdiazconcha.com/libros/xamarin-forms-en-accion-aplicaciones-de-negocio/

 

Cualquier duda les puedo ayudar con mas links o informacion de utilidad (Tambien en español), espero les sea provechoso, nos vemos en una siguiente entrada.

Tutorial KINECT camaras RGB y de profundidad (DEPTH)

Hola
Empezaremos por lo básico, en Visual Studio 2010 creamos un nuevo proyecto WPF y en mi caso le llamare KinectPruebaCamaras.

Ahora bien una vez creado el proyecto con sus archivos iniciales nos vamos a agregar la referencia para trabajar con nuestra KINECT

Ok hasta este punto ahora vamos a nuestro código XAML de nuestra aplicación e insertamos dos controles de imagen dentro del Grid inicial donde la primera le llamaremos VideoImage y a la otra DepthImage

Bien ahora vamos a lo que en realidad tenemos que hacer, nos vamos al code behind de nuestro archivo MainPage.xaml y empezamos por lo siguiente agregando la Referencia con el siguiente código.

using Microsoft.Kinect;

ahora declaramos una variable de tipo KinectSensor que yo llamare sensor y dos variables una de tipo byte que llamare pixeldata y otra de tipo short que llamare pixel.

KinectSensor sensor = KinectSensor.KinectSensors[0];
byte[] pixelData;
short[] pixel;

Ahora debemos de habilitar las camaras con estas dos rutinas, uno para la cámara de RGB y la otra para la cámara de profundidad (DEPTH),  debemos de indicar al Kinect que vamos a utilizar en este caso las dos camaras antes mencionadas.

public partial class MainWindow : Window
{
      KinectSensor sensor = KinectSensor.KinectSensors[0];
      byte[] pixelData;
      short[] pixel;

      public MainWindow()
      {
             InitializeComponent();
             sensor.ColorStream.Enable();
             sensor.DepthStream.Enable();
          
      }
}

“Vamos bien ahí”… bueno ahora necesitamos indicar tanto iniciar el KINECT al correr la aplicación y cuando cerremos la aplicación con estas dos sencillas rutinas Start() y Stop()… (“sencillo no!?”) y en la sección del método Window_Loaded vamos a crear dos eventos ruteados dentro de la variable sensor que yo llame que contiene toda la información del dispositivo que son ColorFrameReady y DepthFrameReady.

private void Window_Loaded(object sender, RoutedEventArgs e)
{
   sensor.ColorFrameReady += new EventHandler<ColorImageFrameReadyEventArgs>(sensor_ColorFrameReady);
   sensor.DepthFrameReady += new EventHandler<DepthImageFrameReadyEventArgs>(sensor_DepthFrameReady);

   sensor.Start();
}

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
   sensor.Stop();
}

Bien ya creamos los objetos, tenemos las librerías de Kinect, inicializamos y cerramos nuestro dispositivo ahora bien falta capturar lo que nos llega de las dos camaras y guardarlas en una variable y mostrarlas en nuestra aplicación para poder empezar a trabajar en nuestro KINECT ahora vamos al método sensor_ColorFrameReady y colocamos el siguiente código.

void sensor_ColorFrameReady(object sender, ColorImageFrameReadyEventArgs e)
{
  bool receivedData = false;

  using (ColorImageFrame CFrame = e.OpenColorImageFrame())
  {
     if (CFrame == null)
     {
     }
     else
     {
     pixelData = new byte[CFrame.PixelDataLength];
     CFrame.CopyPixelDataTo(pixelData);
     receivedData = true;
     }
   }

   if (receivedData)
   {
     BitmapSource source = BitmapSource.Create(640, 480, 96, 96,
     PixelFormats.Bgr32, null, pixelData, 640 * 4);

     VideoImage.Source = source;
   }
      
 }

En el código que acabo de colocar creamos una variable de tipo boleana para detectar mediante una condición para capturar lo que nos arroja la cámara copiando los datos de lo que nos contiene CFrame y después volvemos a preguntar por nuestra variable boleana y de ser verdadero procede a crear un BitmapSource en el cual abrimos dándole los parámetros que demuestro en el código, detenerme a explicar los parámetros no son necesarios por ahora para este tutorial rapido pero en mi primer tutorial son los mismos parámetros que describi y explique, la novedad en esa función es que se pueden jugar ahora con valores superiores o inferiores en escalas proporcionales a la que colocamos por default que es 640 x 480.

Entonces bien ahora vamos a la siguiente cámara que es la de profundidad dando este codigo

void sensor_DepthFrameReady(object sender, DepthImageFrameReadyEventArgs e)
        {
            bool receivedData = false;

            using (DepthImageFrame CFrame = e.OpenDepthImageFrame())
            {
                if (CFrame == null)
                {
                }
                else
                {
                    pixel = new short[CFrame.PixelDataLength];
                    CFrame.CopyPixelDataTo(pixel);
                    receivedData = true;
                }
            }

            if (receivedData)
            {
                BitmapSource source = BitmapSource.Create(320, 240, 96, 96,
                        PixelFormats.Gray16, null, pixel, 320 * 4);

                DepthImage.Source = source;
            }
        }

Es el mismo tratamiento que explique en el método anterior pero lo que cambia es el formato de Pixeles y le colocamos Gray16 (PixelFormats.Gray16) y cambiamos la resolución a 320 x 240 claro también podemos colocarle la resolución de la otra cámara 640 x 480

Ahora corremos nuestra aplicación y tenemos las 2 camaras, tanto la de profundidad  como la RGB funcionando y habilitadas para trabajar con nuestra KINECT, es importante destacar que estos son los métodos básicos para tener  en funcionamiento estas 2 camaras, ya el resto queda de parte de nuestra creatividad

Estoy trabajando actualmente en el siguiente Tutorial para reconocimiento del personaje y de las librerías Skeleton para hacer infinidades de cosas con nuestro KINECT.

Salu2

Silverlight 4 in Action

Descripción del libro
Silverlight in action, es una edición revisada de ritmo rápido, completo tutorial que guía al lector desde la creación de «Hello World» para la codificación de calidad de producción, aplicaciones ricas de Internet RIA por datos con gráficos, audio y contenido de vídeo. Escrito para desarrolladores que ya saben el código en C # y amplios conocimientos de la plataforma .NET , este libro no suelte pelusa cubre los conceptos básicos de forma rápida y se sumerge en el corazón del desarrollo de Silverlight usando XAML (un lenguaje para crear elementos de interfaz de usuario) y Visual Studio 2010. Usted aprenderá no sólo cómo realizar tareas, pero cómo funciona el tiempo de ejecución subyacente.

Además de los fundamentos, el libro cubre las nuevas características de Silverlight como pixel shader, cámara web y micrófono, así como servicios WCF RIA y patrones como MVVM (Model-View-ViewModel). En él se explica el desarrollo offline y «fuera del navegador» (Out of browser) aplicaciones, gestión de vídeo y audio, el manejo de validación, la navegación y deep-linking, y cómo cada característica de Silverlight encaja en el ecosistema de Silverlight en general.

Acerca del Autor
Pete Brown es un Community Program Manager con Microsoft en el liderato de la división de desarrolladores equipo de la comunidad de Scott Hanselman. El enfoque de Pete en Microsoft es la comunidad en torno al desarrollo de aplicaciones cliente (Silverlight, WPF, Windows Phone, de surface, Windows Forms, C, nativo de API de Windows y mucho más).

Antes de unirse a Microsoft, Pete era un orador de Microsoft Silverlight MVP, INETA, y Arquitecto RIA con 17 años de experiencia en la creación de aplicaciones para todo tipo de ambiente, desde ensamblador, C a VB, dBase a C # y. NET.

Pete vive con su esposa y dos hijos fuera de Annapolis, Maryland.

Detalles del libro

* Libro: 800 páginas
* Autor: Manning Publicaciones, 1 ª edición (septiembre de 2010)
* Idioma: Inglés
* ISBN-10: 1935182374
* ISBN-13: 978-1935182375

* Tamaño del archivo: 19.3 GiB
* Accesos: 3474 veces

http://hotfile.com/dl/68474473/37cc1d6/Manning.Silverlight.4.in.Action.Sep.2010.rar.html