2014-10-27 6 views

Antwort

0

Diese erfordern zwei separate Techniken.

Es ist wichtig, den Unterschied zwischen den beiden zu verstehen.

Bei der ersten Änderung der Videovorschauebene muss die Schwerkraft des Videos angepasst werden. Beachten Sie, dass dies wie folgt geändert werden kann, im Rahmen der Vollbild:

[Swift 3]

previewView.videoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill 

Sie Im Wesentlichen sind die Grenzen Ihres Sucher zu modifizieren. Sie haben jedoch keine Auswirkungen auf das aufgenommene Foto.

Nun, für Ihre Situation des Füllens zu einem Quadrat müssen Sie Ebenengrenzen definieren und dann AVLayerVideoGravityResize verwenden.

wie für das aufgenommene Foto modifizierende:

Mys Methode einfach nimmt die zurückgegebenen Bilddaten, um es zu einem UIImage Umwandeln dann einen Erntevorgang durchgeführt. Tatsache ist, dass Ihr aufgenommenes Foto immer die Standardauflösung und das Seitenverhältnis des iPhones sein wird. Sie müssen die Bilddaten nehmen und sie irgendwann konvertieren, um die Grenzen zu entfernen.

In Wahrheit mache ich das nicht mehr lokal, weil es lästig ist. Wenn Sie mit einer REST-API kommunizieren, würde ich in Erwägung ziehen, Server-seitige Erstellungsvorgänge durchzuführen - es ist für den Benutzer genauso nahtlos und mit weniger Aufwand verbunden. Das passt natürlich nicht zu Ihrer Situation.