Wie schneide ich ein Bild zu, nachdem es von der UIImagePicker-Kamera aufgenommen wurde?
-
22-07-2019 - |
Frage
Ich versuche, dem Benutzer die Aufnahme von Bildern mit einem Seitenverhältnis von 16 x 9 zu ermöglichen, damit sie wie schöne HD-Fotos aussehen.Ich verwende cameraViewOverlay, um schwarze Balken an beiden Enden zu überlagern, aber wie kann ich beim Aufnehmen des Bildes den oberen und unteren Rand zuschneiden, ohne die Größe oder den Maßstab des Bildes zu ändern?
Danke.
Lösung
Es gibt verschiedene Stellen um, wie man ein UIImage maßstabs / beschneiden Sie wieder von der Kamera zu bekommen, wie dieses .
Es ist ein wenig schwieriger, als man erwarten würde, weil die Kamerabilder gedreht werden, so dass Sie über Drehungen denken, auch wenn Sie nur beschneiden.
Andere Tipps
können Sie hinzufügen „picker.imageEditing = YES“, um den Code, wenn Sie das Bild nehmen. Dann haben Sie die Imageview Anstands im Interface Builder zu setzen: Bild Ansicht Attribute -> Ansicht -> Modus -> Aspect fit, oder andere Option, wie Sie möchten
Schauen Sie sich diese Lösung von Ming Yang an.https://github.com/myang-git/iOS-Image-Crop-View
Damit kann der Benutzer das Bild zuschneiden, indem er die Ränder eines Rechtecks um den gewünschten Teil des Bildes verschiebt oder zieht.Ich gehe davon aus, dass dieser Code an Ihre Zuschneideanforderungen angepasst werden kann, sei es automatisch oder manuell.
Es ist in Objective-C codiert.Möglicherweise müssen Sie es entweder in Swift codieren oder einfach einen Bridging-Header erstellen, um den Objective-C-Code mit dem Swift-Code zu verbinden.