Estoy tratando de emular la funcionalidad básica de la aplicación integrada de la cámara. Hasta ahora, me he quedado atrapado en la función "tocar para enfocar".Emular las aplicaciones de la cámara 'toque para enfocar'
Tengo un UIView del cual estoy recopilando eventos de UITouch cuando se toca un solo dedo en el UIView. Se llama a este método pero el foco de la cámara & no cambia la exposición.
-(void)handleFocus:(UITouch*)touch
{
if([camera lockForConfiguration:nil])
{
CGPoint location = [touch locationInView:cameraView];
if([camera isFocusPointOfInterestSupported])
camera.focusPointOfInterest = location;
if([camera isExposurePointOfInterestSupported])
camera.exposurePointOfInterest = location;
[camera unlockForConfiguration];
[cameraView animFocus:location];
}
}
'cámara' es mi AVCaptureDevice & es no nula. ¿Puede alguien decirme dónde me estoy equivocando?
Pistas & abucheos todos bienvenidos.
M.
Asimismo, recuerda que tanto exposurePointOfInterest y focusPointOfInterest son CGPoints entre (0,0) y (1,1). Independientemente de la orientación del dispositivo, (0,0) es la esquina superior izquierda y (1,1) es la esquina inferior derecha del dispositivo en la orientación Horizontal derecha. Entonces, usar 'camera.focusPointOfInterest = location' no le dará los resultados que desea. –