Domanda

sto ottenendo risultati inconsistenti a seconda se ottengo l'immagine direttamente dalla fotocamera nel callback o scegliendolo dal rullino fotografico.

Nel metodo UIImagePickerControllerDelegate di callback, il UIImage.imageOrientation apparirà come UIImageOrientationRight non importa come viene scattata la foto.

Durante la lettura fuori dal Rullino fotografico, un colpo di paesaggio (girato a sinistra) viene in su UIImageOrientationUp mentre un ritratto viene in su UIImageOrientationRight.

Come posso ottenere in modo affidabile l'orientamento della fotocamera in entrambe le situazioni?

È stato utile?

Soluzione

ho postato questo ai forum di Apple, ed ha ottenuto la spiegazione:

"La telecamera è in realtà del paesaggio nativo, in modo da ottenere l'alto o verso il basso quando si scatta una foto nel paesaggio e sinistra oa destra quando si scatta una foto in modalità ritratto (a seconda di come si tiene il dispositivo)."

See:

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

Grazie:

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

Altri suggerimenti

Ho provato la proprietà imageOrientation dopo che la foto è stata scattata, è divertente perché ho i valori di orientamento incasinato. Up è sinistra, giù è di destra, sinistra verso il basso e destra è verso l'alto, per esempio, se tengo iPhone "Up" (posizione normale) allora 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;
     }
}

Attualmente sto usando 4.1 SDK GM (xcode_3.2.4_and_ios_sdk_4.1_gm_seed) mira per iOS 3.1

Ho letto qualche parte che l'UIImagePickerController non si accende l'ascolto di eventi di orientamento hardware, quindi potrebbe essere necessario chiamare

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

prima di acquisire le immagini nella vostra app. Sto per andare provare testare questo me stesso, quindi spero che funziona!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top