2009-07-04 31 views
8

Tôi muốn hiển thị hình ảnh camera của điện thoại di động mà nó đang sử dụng để điều khiển trong WinForm. Ý tưởng là ứng dụng của tôi hoạt động giống như chương trình của máy ảnh. Tôi muốn hiển thị hình ảnh như thể người dùng sẽ chụp ảnh.Windows Mobile: sử dụng camera của điện thoại với C#

Tôi có thể làm như thế nào? Tôi có thể làm điều đó?

Nếu bạn cần thêm chi tiết, hãy hỏi tôi.

Cảm ơn bạn!

+0

kiểm tra Ví dụ máy ảnh từ [DirectShowNETCF] (http://alexmogurenko.com/blog/directshownetcf/) – alex

Trả lời

8

Không rất chắc chắn những gì bạn cần, nhưng bạn có thể thử sử dụng 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; 
    } 

Sau đó Edit: Một số bạn có thể tìm thấy hữu ích liên kết này, quá: http://community.intermec.com/t5/General-Development-Developer/CN50-MS-Camera-Capture-Dialog-generates-error/m-p/12881#M4083

+1

Đoạn mã tuyệt vời, Cảm ơn! – dkarzon

1

Tôi nghĩ bạn nên lập trình dựa trên phần cứng trực tiếp bằng sdk hoặc tương tự.

Vì lập trình chống phần cứng trực tiếp thường là trong c/C++ sdk có thể sẽ là nguồn gốc. Vì vậy, hoặc là bạn có thể phải sử dụng pinvoke và từ khóa không an toàn.

Nhưng trước tiên bạn nên tìm cách truy cập máy ảnh và vì điều này phụ thuộc phần cứng bạn có thể bắt đầu trên trang web của manufacturere của điện thoại.

1

Kiểm tra SmartDeviceFramework từ OpenNetCF.org có một số công cụ cho PocketPC bao gồm chụp khung từ Máy ảnh.

3

Điều bạn muốn là bản xem trước chứ không phải bản chụp, điều này khó hơn nhiều. Giải pháp tốt nhất (và có thể chỉ) là chèn một bộ lọc DShow vào bộ lọc để ống cửa sổ xem trước đến nơi bạn muốn.

COM là một con gấu trong Compact Framework, và DShow là khó khăn cho dù bạn đang sử dụng nền tảng nào. Có một số tài nguyên trực tuyến, chẳng hạn như DShow.NET library at sourceforgeAlex Mogurenko's blog, nhưng không có gì cụ thể để tạo ảnh chụp.

Có một mẫu chụp gốc trong SDK WinMo sẽ là hướng dẫn hữu ích để đưa bạn đến đó.

+0

Cảm ơn câu trả lời của bạn. Tôi đã không làm việc với DShow. Có tương thích với tất cả các loại thiết bị Windows Mobile không? Tôi có thể tìm thêm thông tin về DShow ở đâu? – VansFannel

+0

Có thể đó là một cái gì đó như thế: http://www.codeproject.com/KB/mobile/samplegrabberfilter-wm6.aspx – VansFannel

+0

Tôi không hiểu điều này: "... để chèn Bộ lọc DShow vào bộ lọc để ống cửa sổ xem trước đến nơi bạn muốn. " – VansFannel

Các vấn đề liên quan