Frage

Ich erhalte inkonsistente Ergebnisse je nachdem, ob ich das Bild direkt von der Kamera in dem Rückruf erhalten oder von der Kamerarolle wählen.

In der UIImagePickerControllerDelegate Callback-Methode, die UIImage.imageOrientation kommt als UIImageOrientationRight egal, wie das Foto aufgenommen wird.

Wenn es von der Camera Roll zu lesen, eine Landschaftsaufnahme (nach links gedreht) aufkommt UIImageOrientationUp während eines Porträt Schuss kommt UIImageOrientationRight.

Wie kann ich zuverlässig die Kameraausrichtung in beiden Situationen bekommen?

War es hilfreich?

Lösung

ich gepostet die Apple-Foren, und bekam die Erklärung:

„Die Kamera ist eigentlich Landschaft heimisch, so erhalten Sie nach oben oder unten, wenn Sie ein Bild im Quer nehmen und nach links oder rechts, wenn Sie ein Bild im Hochformat nehmen (je nachdem, wie Sie das Gerät halten).“

Siehe auch:

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

Danke:

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

Andere Tipps

Ich habe die imageOrientation Eigenschaft versucht, nachdem das Bild aufgenommen wurde, es ist lustig, weil ich die Orientierungswerte vermasselt haben. Up ist links, unten rechts ist, links ist nach unten und rechts oben ist, zum Beispiel, wenn ich das iPhone „Up“ (die normale Position) halte dann imageOrientation ist „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;
     }
}

Derzeit bin ich mit 4.1 SDK GM (xcode_3.2.4_and_ios_sdk_4.1_gm_seed) Targeting für iOS 3.1

Ich habe irgendwo dass die UIImagePickerController schaltet sich nicht ein zu Hardware Orientierungsveranstaltungen zu hören, so müssen Sie

nennen
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

, bevor Sie Bilder in Ihrem eigenen App erfassen. Ich bin zu gehen zu versuchen, dies selbst zu testen, so dass ich hoffe, es funktioniert!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top