2010-08-16 15 views
5

¿Cómo se calcula el focusPointOfInterest (un valor CGPoint entre 0,0 y 1,1) para un dispositivo AVCapture determinado?Cómo calcular focusPointOfInterest para AVCaptureDevice?

He estado siguiendo los ejemplos del código de la última WWDC, pero realmente no entiendo cómo se hace el cálculo. Además, mi aplicación está en formato horizontal y vertical (como en la muestra) ... así que, además de no entender cómo se calculan las cosas, no estoy seguro de qué ajustes debo hacer para tener en cuenta la orientación horizontal .

Cualquier ayuda sería apreciada.

Gracias - WG

Respuesta

2

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

Se pasa un CGPoint donde {0,0} representa la parte superior izquierda del área de la imagen, y {1,1} representa la parte inferior derecha en modo horizontal con el botón de inicio a la derecha, esto se aplica incluso si el dispositivo está en modo vertical.

+1

sigue siendo curioso cómo calcular eso! – user441669

+1

Se entiende como relación. Por ejemplo, si toca el punto {10,20} en vista del tamaño de los límites {20, 100}, quiere enfocar en {0.5, 0.2} punto. – user500

3

Si usted tiene una AVCaptureVideoPreviewLayer, puede utilizar captureDevicePointOfInterestForPoint con el fin de convertir el CGPoint que se obtiene con un gesto grifo.

De esta manera, simplemente no tiene que preocuparse por la orientación.

+0

¿No está esto invertido? El gesto de tocar proporciona las coordenadas del dispositivo, y lo que quieres son las coordenadas de la capa? – Crashalot