将捕获的图像添加到下一个视图 Swift 3 Xcode 8
Adding captured image to next view Swift 3 Xcode 8
我正在使用 AVFoundation 进行捕获。我想将捕获的图像添加到下一个视图的 UIImageView。我有一个代码,可以让我将一张照片添加到一个 UIImageView:
func saveToCamera() {
if let videoConnection = stillImageOutput.connection(withMediaType: AVMediaTypeVideo) {
stillImageOutput.captureStillImageAsynchronously(from: videoConnection, completionHandler: { (CMSampleBuffer, Error) in
if let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(CMSampleBuffer) {
if let cameraImage = UIImage(data: imageData) {
UIImageWriteToSavedPhotosAlbum(cameraImage, nil, nil, nil)
self.scan = cameraImage //recording captured image to variable
}
}
})
}
}
准备 segue 代码:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if(segue.identifier == "MainSegue"){
let yourNextViewController = (segue.destination as! MainView)
yourNextViewController.scan = scan
}
}
}
下一个视图:
var scan: UIImage!
@IBOutlet weak var imgScan: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
imgScan.image = scan
}
它很原始,但效果很好,但只适用于一张图片。但是我最多要补六张照片,然后将它们添加到六个 ImageView 中。我该怎么做?
我希望这里的关键是改变这个:
var scan: UIImage!
对此:
var scan: [UIImage] = []()
现在您已经有了一个数组,您可以 append
添加到 prepare
中的每个图像。当然,您还必须更改第二个视图控制器中的代码,以查看您有多少图像并将它们分配给各种图像视图,但这是一个微不足道的更改。
我正在使用 AVFoundation 进行捕获。我想将捕获的图像添加到下一个视图的 UIImageView。我有一个代码,可以让我将一张照片添加到一个 UIImageView:
func saveToCamera() {
if let videoConnection = stillImageOutput.connection(withMediaType: AVMediaTypeVideo) {
stillImageOutput.captureStillImageAsynchronously(from: videoConnection, completionHandler: { (CMSampleBuffer, Error) in
if let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(CMSampleBuffer) {
if let cameraImage = UIImage(data: imageData) {
UIImageWriteToSavedPhotosAlbum(cameraImage, nil, nil, nil)
self.scan = cameraImage //recording captured image to variable
}
}
})
}
}
准备 segue 代码:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if(segue.identifier == "MainSegue"){
let yourNextViewController = (segue.destination as! MainView)
yourNextViewController.scan = scan
}
}
}
下一个视图:
var scan: UIImage!
@IBOutlet weak var imgScan: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
imgScan.image = scan
}
它很原始,但效果很好,但只适用于一张图片。但是我最多要补六张照片,然后将它们添加到六个 ImageView 中。我该怎么做?
我希望这里的关键是改变这个:
var scan: UIImage!
对此:
var scan: [UIImage] = []()
现在您已经有了一个数组,您可以 append
添加到 prepare
中的每个图像。当然,您还必须更改第二个视图控制器中的代码,以查看您有多少图像并将它们分配给各种图像视图,但这是一个微不足道的更改。