2008-10-31 8 views
2

Je sais comment prendre une Snapshot caméra sur Windows Mobile 5.0/6 en utilisant SHCameraCapture. Mais y a-t-il quelque chose de plus vaste qui me permette un contrôle plus fin? Notamment pour obtenir des niveaux de zoom disponibles et pour définir le niveau de zoom par programme, également par ex. différents modes ISO/sensibilité à la lumière et réglage du mode macro si disponible. (C'est-à-dire similaire à ce que propose JSR 234).contrôle de la caméra étendue sur Windows Mobile

Mon projet va probablement être écrit en C++.

Mise à jour: Il est censé fonctionner sur tous disponibles WM 5.0 et 6 appareils. Je suis à la recherche d'une solution générique qui ne soit pas spécifique à un modèle particulier.

Répondre

1

Pour les modes ISO, sensibilité à la lumière et d'autres contrôles avancés, etc., il est généralement dispositif spécifique de tout ce que j'ai vu. Je sais que différents fabricants exposeront leurs bibliothèques d'imageurs à travers leurs SDK. Quel type d'appareil mobile utilisez-vous? Vérifiez auprès du fabricant s'il existe une API exposée via leur SDK.

Pour des choses simples que vous avez probablement déjà eu un coup d'œil à la classe suivante:

CameraCaptureDialog Class

Et pour des choses comme la qualité d'image celle-ci:

CameraCaptureStillQuality Enumeration

** Note : Ce sont pour Windows Mobile 6.

+0

Ceci est supposé fonctionner sur tous les périphériques WM 5.0 et 6 disponibles. Je suis à la recherche d'une solution générique qui ne soit pas spécifique à un modèle particulier. J'ai regardé les liens fournis, ce sont essentiellement la fonctionnalité SHCameraCapture encapsulée dans .NET (que je ne veux pas utiliser de toute façon). – Steven

0

Via une autre question sur SO j'ai trouvé http://blogs.msdn.com/marcpe/archive/2006/03/03/542941.aspx qui offre un autre moyen (générique) d'accéder à la caméra. Je n'ai pas encore compris encore quoi et comment je peux définir des options comme le zoom etc, mais je suppose que ce serait le chemin à parcourir.

0

J'ai modifié et utilisé le code dans l'échantillon auquel vous avez lié (le code enveloppe fondamentalement DirectShow). Il ne vous permettra pas de contrôler les aspects de la caméra que vous souhaitez contrôler (zoom, sensibilité à la lumière, etc.). Si les caméras ont même ces fonctionnalités et que les fonctionnalités sont exposées, c'est uniquement via leur API et donc spécifique à l'appareil.

Vous pouvez utiliser le code pour définir la résolution par programme (bien que ce soit difficile) et déclencher la caméra, et obtenir l'image comme un bitmap que vous pouvez faire avec tout ce que vous voulez, afin de pouvoir implémenter votre propre zoom Si vous l'avez fait avec succès, je pense que vous vous retrouvez avec un produit commercialement viable, car il n'y a absolument rien qui fasse cela dans le monde de Windows Mobile (j'espère que j'ai une autre réponse). J'ai également appris de ce code pourquoi les appareils photo numériques (bon marché) prennent toujours des photos en retard lorsqu'ils utilisent l'écran comme viseur (ce qui explique pourquoi vos images ne ressemblent jamais à ce que vous voulez), et pourquoi c'est fondamentalement problème unfixable (au moins dans les appareils photo numériques moins chers).

Questions connexes