2010-02-23 5 views
0

le suivi de: Directdraw: Rotate video streamWindows Mobile/Directdraw: Rotation flux vidéo

j'ai réussi à obtenir un aperçu du flux vidéo de la caméra, mais l'image est mise en rotation de 90 ° en mode paysage. Je cherche maintenant un moyen de retourner l'image de la caméra à la normale, mais le problème est que je ne sais même pas par où commencer: Est-ce fait dans le VideoCaptureFilter, le VideoInfoHeader, dans une structure DDSURFACEDESC? Est-ce que la rotation peut seulement être faite en utilisant un filtre supplémentaire? Est-ce un réglage de filtre?

Répondre

1

Je trouve que cela se fait habituellement avec le drapeau de BI_SRCPREROTATE:

Un drapeau spécial a été développé (BI_SRCPREROTATE) qui indique GDI et le moteur de rendu vidéo que l'orientation de l'image de la la caméra est dans l'orientation correcte (ne pas pivoter lors du rendu). Cette est nécessaire car lorsque vous faites pivoter le shell sur l'appareil vous aussi faire pivoter physiquement l'appareil. Lorsque le pilote d'affichage fait pivoter bitmaps à rendre le shell et l'interface utilisateur qu'il doit savoir que cette bitmap particulier ne doit pas être pivoté. Le drapeau est ou 0d dans le champ de biCompression dans la structure BITMAPINFO .

De http://www.tech-archive.net/Archive/PocketPC/microsoft.public.pocketpc.developer/2005-12/msg00850.html

Exemple de code pourrait ressembler à ceci:

pVih->bmiHeader.biCompression &= ~BI_SRCPREROTATE; 

De http://innovator.samsungmobile.com/bbs/discussion/view.do?parentCategoryId=4&messageId=45549&boardId=224&platformId=2

Cette méthode est cependant ne fonctionne pas avec le HTC HD2 J'utilise, mais il pourrait travailler avec d'autres appareils, j'ai donc décidé d'ajouter cela à ma question.

Questions connexes