2009-07-04 15 views
8

Ich möchte das Bild zeigen, dass Handy-Kamera ein Steuerelement in einem WinForm übernimmt. Die Idee ist, dass meine Anwendung wie das Programm der Kamera funktioniert. Ich möchte das Bild anzeigen, wenn der Benutzer ein Foto macht.Windows Mobile: mit Handy-Kamera mit C#

Wie kann ich das tun? Kann ich das machen?

Wenn Sie weitere Informationen benötigen, fragen Sie mich.

Vielen Dank!

+0

überprüfen Kamera Beispiel von [DirectShowNETCF] (http://alexmogurenko.com/blog/directshownetcf/) – alex

Antwort

8

Nicht sehr sicher, was Sie brauchen, aber Sie können versuchen, Microsoft.WindowsMobile.Forms.CameraCaptureDialog mit:

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; 
    } 

Später Edit: Einige von Ihnen vielleicht nützlich diesen Link finden, auch: http://community.intermec.com/t5/General-Development-Developer/CN50-MS-Camera-Capture-Dialog-generates-error/m-p/12881#M4083

+1

Tolles Stück Code, Danke! – dkarzon

1

Ich denke, Sie sollten direkt gegen die Hardware mit einem SDK oder etwas ähnliches programmieren.

Da die Programmierung gegen Hardware direkt in C/C++ erfolgt, wird die SDK wahrscheinlich nativ sein. Sie müssen also wahrscheinlich pinvoke und das unsafe-Schlüsselwort verwenden.

Aber zuerst sollten Sie die Möglichkeit finden, auf die Kamera zuzugreifen, und da dies hardwareabhängig ist, können Sie auf der Website des Herstellers des Telefons starten.

1

Überprüfen SmartDeviceFramework von OpenNetCF.org haben einige Tools für PocketPC einschließlich der Erfassung von Frames von der Kamera.

3

Was Sie wollen, ist eine Vorschau, nicht die Aufnahme, die viel schwieriger ist. Die beste (und vielleicht einzige) Lösung besteht darin, einen DShow-Filter in den Filtergraph einzufügen, um das Vorschaufenster an die gewünschte Stelle zu leiten.

COM ist ein Bär in der Compact Framework und DShow ist hart, egal auf welcher Plattform Sie sind. Es gibt einige Ressourcen online, wie die DShow.NET library at sourceforge und Alex Mogurenko's blog, aber nichts spezifisch für die Erstellung eines Capture.

Es gibt ein natives Capture-Beispiel im WinMo-SDK, das eine hilfreiche Anleitung für den Einstieg bieten würde.

+0

Vielen Dank für Ihre Antwort. Ich arbeite nicht mit DShow. Ist es mit allen Arten von Windows Mobile-Geräten kompatibel? Wo kann ich mehr Informationen über DShow finden? – VansFannel

+0

Vielleicht ist es in etwa so: http://www.codeproject.com/KB/mobile/samplegrabberfilter-wm6.aspx – VansFannel

+0

Ich verstehe das nicht: "... um einen DShow Filter in den Filtergraphen einzufügen, um den Vorschaufenster, wo Sie wollen. " – VansFannel