iPhone detecção de orientação da câmera

votos
1

Estou ficando resultados inconsistentes, dependendo se eu obter a imagem diretamente da câmera no retorno de chamada ou escolhendo-a no rolo da câmera.

No UIImagePickerControllerDelegatemétodo de retorno, o UIImage.imageOrientationsurge como UIImageOrientationRightnão importa como a foto é tirada.

Ao lê-lo fora do Camera Roll, um tiro paisagem (virou à esquerda) surge UIImageOrientationUpenquanto um retrato vem à tona UIImageOrientationRight.

Como posso obter de forma confiável a orientação da câmara em ambas as situações?

Publicado 25/05/2009 em 04:29
fonte usuário
Em outras línguas...                            


3 respostas

votos
3

Eu postei isso para os fóruns da Apple, e tem a explicação:

"A câmera é realmente nativa paisagem, de modo a obter-se ou para baixo quando você tira uma foto na paisagem e para a esquerda ou para a direita quando você tirar uma foto no retrato (dependendo de como você segure o dispositivo)."

Vejo:

https://devforums.apple.com/message/301160#301160

Obrigado:

https://devforums.apple.com/people/Rincewind

Respondeu 23/09/2010 em 18:55
fonte usuário

votos
0

Eu tentei a propriedade imageOrientation após a foto foi tirada, é engraçado porque eu tenho os valores de orientação desarrumada. Up é Esquerda, Baixo é Direita, Esquerda é baixo e à direita é para cima, por exemplo, se eu segurar o iPhone "Up" (posição normal), então imageOrientation é "UIImageOrientationRight".

- (void)imagePickerController:(UIImagePickerController *)picker
  didFinishPickingImage:(UIImage *)image
      editingInfo:(NSDictionary *)editingInfo {
    switch (image.imageOrientation) {
      case UIImageOrientationUp: //Left
       break;
      case UIImageOrientationDown: //Right
       break;
      case UIImageOrientationLeft: //Down
       break;
      case UIImageOrientationRight: //Up
       break;
      default:
       break;
     }
}

Atualmente estou usando 4.1 SDK GM (xcode_3.2.4_and_ios_sdk_4.1_gm_seed) direcionando para iOS 3.1

Respondeu 08/09/2010 em 17:04
fonte usuário

votos
-1

Eu li em algum lugar que o UIImagePickerController não liga ouvir eventos de orientação hardware, assim você pode precisar chamar

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

antes de capturar imagens em seu próprio aplicativo. Estou prestes a ir tentar testar isso mesmo, então eu espero que funcione!

Respondeu 25/06/2009 em 17:54
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more