2010-08-16 4 views
5

Comment calculer le focusPointOfInterest (une valeur CGPoint comprise entre 0,0 et 1,1) pour un AVCaptureDevice donné?Comment calculer focusPointOfInterest pour AVCaptureDevice?

J'ai suivi les exemples de code de la dernière WWDC mais je ne comprends vraiment pas comment calculer. De plus, mon application est assise en mode portrait versus portrait (comme dans l'exemple) ... donc en plus de ne pas comprendre comment les choses sont calculées, je ne suis pas sûr des ajustements que je dois faire pour rendre compte de l'orientation paysage .

Toute aide serait appréciée.

Merci - wg

Répondre

2

Selon http://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/03_MediaCapture.html:

Vous passez un CGPoint où {0,0} représente la partie supérieure gauche de la zone d'image, et {1,1} représente le bas à droite en mode paysage avec le bouton d'accueil sur la droite, cela s'applique même si l'appareil est en mode portrait.

+1

encore curieux de savoir comment calculer cela! – user441669

+1

Cela signifie ratio. Par exemple, si vous appuyez sur le point {10,20} en raison de la taille des limites {20, 100}, vous voulez vous concentrer sur {0.5, 0.2} point. – user500

3

Si vous avez un AVCaptureVideoPreviewLayer, vous pouvez utiliser captureDevicePointOfInterestForPoint afin de convertir le CGPoint vous obtenez avec un geste du robinet.

De cette façon, vous n'avez pas à vous soucier de l'orientation.

+0

N'est-ce pas inversé? Le geste du robinet fournit les coordonnées de l'appareil, et ce que vous voulez, ce sont les coordonnées de la couche? – Crashalot