Konvertieren von UIImage zu CGImage Ursache Bilddrehung

Ich versuche, das Bild zuschneiden, indem Sie eigene benutzerdefinierte gestürzt. Nicht von der UIImagePickerController ist. Nun zeige ich das Bild aufgenommen von Bild-Picker in ein UIImgeView durch den Umgang UIImagePicker die Delegierten:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    imvOriginalImage.image = image;
}

Für den Zuschnitt habe ich zu konvertieren, das Bild zu CGImageRef. Das Bild ist eingefangen im hochformat. Wenn ich jetzt konvertieren Sie das Bild in CGImageRef die Ausrichtung der Bilder geändert. Auch wenn ich wie folgt:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    //imvOriginalImage.image = image;
    CGImageRef imgRef = [image CGImage];
    UIImage *img = [UIImage imageWithCGImage:imgRef];
    [imvOriginalImage setImage:img];

}

Bildausrichtung geändert. Dies geschieht nur für jene Bilddateien, die gefangen sind im portrait-Modus. Landschaft Bilder, die nicht dieses Problem haben.

  1. Warum dies passiert ist?
  2. Wie man dieses Problem lösen?

Vielen Dank Im Voraus.

  • Dies ist, weil UIImage hat eine imageOrientation Eigenschaft, die kennt die Bilder drehen, aber CGImageRef weiß nicht, über diese.
Schreibe einen Kommentar