https://developer.apple.com/documentation/avfoundation/avcapturedevice/1624611-videozoomfactor
A value that controls the cropping and enlargement of images captured by the device.
디바이스에 의해 캡처되는 이미지의 크롭, 확대를 제어하는 값입니다.
var videoZoomFactor: CGFloat { get set }
이 값은 승수입니다. 예를 들어 2.0 값은 이미지의 피사체를 두 배로 늘립니다(뷰의 필드는 절반). 허용되는 값의 범위는 1.0부터 활성 포맷이 갖는 videoMaxZoomFactor
의 값까지 가능합니다. 이 속성의 값을 설정하는 것은 즉시 새로운 줌 요인으로 건너갑니다. 매끄러운 전환을 하려면 ramp(toVideoZoomFactor:withRate:)
메소드를 사용해야 합니다.
디바이스는 센서에 의해 캡처되는 이미지 중심 주변을 크롭해서 줌 효과를 달성합니다. 낮은 줌 요인에서 크롭된 이미지는 아웃풋 크기보다 같거나 더 큽니다. 높은 줌 요인에서 기기는 아웃풋 크기까지 크롭된 이미지를 스케일해야 하며, 이미지 품질의 손실을 초래할 것입니다. 활성 포맷의 videoZoomFactorUpscaleThreshold
속성은 업스케일링이 발생하는 요인을 나타냅니다.
이 속석의 값을 변경하기 전에 기기의 설정 속성에 대한 독점적 접근을 얻기 위해 lockForConfiguration()
을 호출해야 합니다. 이 속성의 값을 설정하는 것은 예외를 발생시킵니다. 디바이스 설정을 마친 후 unlockForConfiguration()
을 호출해서 잠금을 해제하고 다른 디바이스가 세팅을 설정할 수 있도록 해줘야 합니다.