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.
- Warum dies passiert ist?
- Wie man dieses Problem lösen?
Vielen Dank Im Voraus.
- Dies ist, weil
UIImage
hat eineimageOrientation
Eigenschaft, die kennt die Bilder drehen, aberCGImageRef
weiß nicht, über diese.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist, dass die iPhone-Kamera dreht das Bild im Vergleich mit Home-Taste. Es nutzt EXIF, die meta-Daten des Bildes. Siehe diesen thread:
iPhone Bild-rotation