2008-10-31 61 views
2

我知道如何使用SHCameraCapture在Windows Mobile 5.0/6上捕捉攝像頭拍攝。但是有更廣泛的東西可以讓我更好地控制嗎?即爲了獲得可用的縮放級別並以編程方式設置縮放級別,例如不同的ISO模式/光線敏感度和宏模式的設置(如果可用)。 (即類似於JSR 234提供的)。Windows Mobile上的擴展攝像頭控制

我的項目可能要用C++編寫。

更新:它應該在所有可用的WM 5.0和6設備上運行。我正在尋找一種通用解決方案,它不是特定於某個特定模型的解決方案。

回答

1

對於ISO模式,光線靈敏度和其他高級控制等,它通常是我看過的所有設備的特定設備。我知道不同的製造商會通過他們的SDK公開他們的圖像庫。你使用什麼樣的移動設備?請向製造商諮詢通過SDK公開的API。

對於簡單的東西你可能已經有一個看下面的類:

CameraCaptureDialog Class

而且對於像圖像質量這一個:

CameraCaptureStillQuality Enumeration

**注:這些是針對Windows Mobile 6的。

+0

這應該在所有可用的WM 5.0和6設備上運行。我正在尋找一種通用解決方案,它不是特定於某個特定模型的解決方案。我查看了提供的鏈接,這些基本上都是封裝到.NET中的SHCameraCapture功能(我不想使用它)。 – Steven 2008-10-31 14:58:48

0

我修改並使用了鏈接的示例中的代碼(代碼基本上包裝了DirectShow)。它不會讓你控制你想要控制的相機的各個方面(變焦,感光度等)。如果相機甚至具有這些功能並且所有功能都暴露出來,那麼它只能通過它們的API進行使用,因此是特定於設備的。

您可以使用代碼以編程方式設置分辨率(儘管這很棘手)並啓動相機,然後將圖片作爲位圖獲取,然後您可以隨意進行任何操作,以便您可以實現自己的縮放功能,濾色鏡等。順便說一句,如果你成功地做到了這一點,我認爲你最終會得到一個商業上可行的產品,因爲在Windows Mobile世界中絕對沒有這樣做(希望我被另一個答案證明是錯誤的)。

我也從該代碼中瞭解到,爲什麼(便宜的)數碼相機在使用屏幕作爲取景器時總是會拍照(這就是爲什麼你的照片從未如你所願的那樣)以及爲什麼這是一個根本性的不可修復的問題(至少在便宜的數碼相機中)。