// MARK:  UI 좌표를 카메라 좌표로 변환
    func convertToPointOfInterestFromViewCoordinates(viewCoordinates: CGPoint) -> CGPoint {
        var pointOfInterest = CGPoint.init(x: 0.5, y: 0.5)
        let frameSize = preview.frame.size
        
//        guard let _ = kit else {
//            return pointOfInterest
//        }
        
        let apertureSize = self.captureDimension() // CGSize
        let point = viewCoordinates
        let apertureRatio = apertureSize.height / apertureSize.width
        let viewRatio = frameSize.width / frameSize.height
        var xc: CGFloat = 0.5
        var yc: CGFloat = 0.5
        
        if viewRatio > apertureRatio {
            let y2 = frameSize.height
            let x2 = frameSize.height * apertureRatio
            let x1 = frameSize.width
            let blackBar = (x1 - x2) / 2
            if point.x >= blackBar && point.x <= blackBar + x2 {
                
                xc = point.y.remainder(dividingBy: y2)//divided(by: y2)
                yc = CGFloat(1.0) - ((point.x - blackBar) / x2)
            }
        }else{
            let y2 = frameSize.width / apertureRatio
            let y1 = frameSize.height
            let x2 = frameSize.width
            let blackBar = (y1 - y2) / 2
            if point.y >= blackBar && point.y <= blackBar + y2 {
                xc = ((point.y - blackBar) / y2)
                yc = 1.0 - (point.x / x2)
            }
        }
        pointOfInterest = CGPoint.init(x: xc, y: yc)
        
        return pointOfInterest
    }

'Swift > 기타' 카테고리의 다른 글

[SWIFT]Gif 애니메이션 Loading UI  (0) 2023.06.26
[SWIFT]비디오 비율 계산  (0) 2023.06.09
[SWIFT]ImageFileManager Class  (0) 2023.06.08
[SWIFT]iCloud Drive에 파일 저장  (0) 2023.06.08
[SWIFT]MVVM Module Class  (0) 2023.06.05

+ Recent posts