Avatar
ちょっと変更して、必ず DispatchQueue.main.async を通してコールバックが呼ばれるようにして、コールバックに渡された imageinout にしてそのまま編集できるようにしました。 ↓は画像のピクセルにアクセスして編集して、ネガポジ反転してる例です。 import UIKit import AVFoundation import EasyCamery import EasyImagy class ViewController: UIViewController { @IBOutlet var imageView: UIImageView! private let camera: Camera<RGBA<UInt8>> = try! Camera(sessionPreset: .vga640x480, focusMode: .continuousAutoFocus) override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) camera.start { [weak self] image in // Makes `image` negative image.update { pixel in pixel.red = 255 - pixel.red pixel.green = 255 - pixel.green pixel.blue = 255 - pixel.blue } self?.imageView.image = image.uiImage } } override func viewWillDisappear(_ animated: Bool) { camera.stop() super.viewWillDisappear(animated) } }
4:50 AM
でも速度が足りてれば、UIImageとUIImageViewで表示できるのはめっちゃ便利ですね。
体感的なパフォーマンス低下がないならコードがシンプルになるのはいいですね🙂