본문 바로가기
ios 뽀개기/objective-c

ios 카메라를 만드는 두가지 방법 - 설명

by 인생여희 2018. 12. 4.
반응형

ios 카메라를 만드는 두가지 방법 1



  1. UIImagePickerController 사용

-Foundation 프레임워크의 UIImagePickerController 클래스를 사용하면된다.


장점: 구현이 쉽다.

단점: 커스터마이징이 어렵다.



  1. AVCaptureDevice
  • 다양한 커스터마이징 가능



AVCaptureSession

카메라를 시작을 선언해주는 역할을 한다.

일반적으로 별도의 카메라 큐를 만들어서 세션을 시작한다.




AVCaptureVideoPreviewLayer

카메라가 향하는 곳을 영상으로 있다.

PreViewLayer 영상이 나오는 화면을 가르킨다.

PreViewLayer  AVCaptureDevice + AVCaptureSession + Input + Output 갖춰야 한다.



AVCaptureDeviceInput 

입력을 담당하는 부분


AVCaptureStillImageOutput

출력을 담당하는 부분


AVCaptureDevicePosition

입출력을 담당할 카메라가 전면인지 후면인지 지정하지 않았는지를 구분.



AVCaptureVideoVideoOrientation

폰이 세워져 있는지 거꾸로 있는지, 누워있는지 구분한다


세워져있을때 : Portrait

세워서 거꾸로: PortraitUpsideDown

누워있는지 : LandscapeRight, LandscapeLeft

PrevieLayer connection.videoOrientation 프로퍼티에 지정해주면된다.





AVAuthorizationStatus

카메라를 구동전, 카메라 세션을 시작하기전에 먼저 사용자로 부터 사용허가를 받았는지 체크해준다.

정의 안됨 notDetermined, 제한 Restricted, 거부당함 Denied, 허가 받음 Authorized




sessionPreset

카메라 세션의 해상도 설정



videoGravity

AVCapturePreviewLayer property 이다 . PreviewLayer 사이즈를 조정하는 역할을 한다.



captureStillImageAsynchronouslyFromConnection

AVCaptureStillImageOutput 메서드의 하나로 프리뷰 영상을 스냅샷해서 버퍼로 만들고 이미지화 한다.



jpegStillImageNSDataRepresentation

AVCaptureStillImageOutput 메소드 하나로 메서드에서 생성한 버퍼를 이미지 데이터로 변환한다.

이미지는 uiimage 만들 있고, cgimage 전환했다가 다시 uIimage 변환 가능



AVAssetsLibrary

AssetsLibrary 프레임워크의 ALAssetsLibrary 클래스는 자칭의 사진라이브러리로 접근 있도록 한다.












반응형

댓글