Rendering Image - Plogging/Plogging_iOS GitHub Wiki
Rendering Image
-
커스텀 카메라 구현 후, 이미지 렌더링 작업 처리
Custom Camera
-
AVCapturePhotoCaptureDelegate로 커스텀 카메라 구현
-
AVCaptureSession
- capture activity 를 다루며 input device에서 outputs을 capture할 수 있도록 데이터의 흐름을 관리하는 object
captureSession = AVCaptureSession() captureSession.sessionPreset = .photo
-
AVCaptureDevice
- 물리적인 capture device와 그와 관계 속성을 나타내는 object capture device는 AVCaptureSession object에 연결할 수 있는 input data(audio나 video)를 제공 class func default(for:) 와 class func default(_:for:position) 을 사용해서 device object를 생성
guard let backCamera = AVCaptureDevice.default(for: AVMediaType.video) else { print("Unable to access backCamera") return } guard let frontCamera = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front) else { print("Unable to access frontCamera") return }
-
AVCaptureDeviceInput
- capture session에 input data를 제공하는 object
-
AVCapturePhotoOutput
- 스틸 이미지, 라이브 포토, 기타 사진 워크 플로우에 대한 capture output
let backCameraInput = try AVCaptureDeviceInput(device: backCamera) stillImageOutput = AVCapturePhotoOutput() if captureSession.canAddInput(backCameraInput) && captureSession.canAddOutput(stillImageOutput) { captureSession.addInput(backCameraInput) captureSession.addOutput(stillImageOutput) setUpLivePreview() }
-
AVCapturePhotoSettings
- 단일 사진 캡쳐 요청에 사용할 기능 및 설정의 사양을 정의하는 object
let settings = AVCapturePhotoSettings(format: [AVVideoCodecKey: AVVideoCodecType.jpeg])
-
Image Rendering
- ImageRederingMaker
- baseView에 targetVeiw를 addSubView()하고, 이미지화 시켜주는 객체
- PloggingResultImageMaker
- PloggingInfoViewCreater에서 targetVeiw를 받아 baseView에 addSubView()하고, 이미지화 시켜주는 객체
- PloggingInfoViewCreater
- PloggingResultImageMaker의 targetVeiw를 생성하는 객체
-