2009-07-04 22 views
8

Quiero mostrar la imagen de que la cámara del teléfono móvil está tomando un control en un WinForm. La idea es que mi aplicación funcione como el programa de la cámara. Quiero mostrar la imagen como si el usuario tomara una foto.Windows Mobile: usando la cámara del teléfono con C#

¿Cómo puedo hacer eso? ¿Puedo hacer eso?

Si necesita más información, pregúnteme.

Gracias!

+0

check Ejemplo de cámara de [DirectShowNETCF] (http://alexmogurenko.com/blog/directshownetcf/) – alex

Respuesta

8

No muy seguro de lo que necesita, pero se puede tratar de usar Microsoft.WindowsMobile.Forms.CameraCaptureDialog:

string originalFileName; 
    using (CameraCaptureDialog dlg = new CameraCaptureDialog()) { 
     dlg.Mode = CameraCaptureMode.Still; 
     dlg.StillQuality = CameraCaptureStillQuality.Low; 
     //dlg.Resolution = new Size(800, 600); 
     dlg.Title = "Take the picture"; 
     DialogResult res; 
     try { 
      res = dlg.ShowDialog(); 
     } 
     catch (Exception ex) { 
      Trace.WriteLine(ex); 
      return null; 
     } 

     if (res != DialogResult.OK) 
      return null; 
     this.Refresh(); 
     originalFileName = pictureFileName = dlg.FileName; 
    } 

Posteriormente Editar: Algunos de ustedes pueden encontrar útil este enlace, también: http://community.intermec.com/t5/General-Development-Developer/CN50-MS-Camera-Capture-Dialog-generates-error/m-p/12881#M4083

+1

Gran pedazo de código, ¡Gracias! – dkarzon

1

Creo que debe programar contra el hardware directamente con un SDK o algo similar.

Dado que la programación contra hardware directamente se realiza normalmente en c/C++, es probable que la SDK sea nativa. Entonces, o probablemente tengas que usar pinvoke y la palabra clave insegura.

Pero primero debe encontrar la manera de acceder a la cámara, y como esto depende del hardware, puede comenzar en el sitio web del fabricante del teléfono.

1

Verificar SmartDeviceFramework de OpenNetCF.org tiene algunas herramientas para PocketPC que incluyen la captura de fotogramas de la cámara.

3

Lo que quiere es una vista previa, no la captura, que es mucho más difícil. La mejor (y tal vez única) solución es insertar un Filtro DShow en el gráfico de filtros para canalizar la ventana de vista previa a donde desee.

COM es un oso en el marco compacto, y DShow es resistente sin importar en qué plataforma se encuentre. Hay algunos recursos en línea, como DShow.NET library at sourceforge y Alex Mogurenko's blog, pero nada específico para crear una captura.

Hay una muestra de captura nativa en el SDK de WinMo que sería una guía útil para llegar hasta allí.

+0

Gracias por su respuesta. No he trabajado con DShow. ¿Es compatible con todo tipo de dispositivo con Windows Mobile? ¿Dónde puedo encontrar más información sobre DShow? – VansFannel

+0

Tal vez sea algo así: http://www.codeproject.com/KB/mobile/samplegrabberfilter-wm6.aspx – VansFannel

+0

No entiendo esto: "... para insertar un filtro DShow en el gráfico de filtro para canalizar el ventana de vista previa a donde quieras ". – VansFannel

Cuestiones relacionadas