Перевести CGRect из CALayer в UIImage

У меня есть приложение камеры, которое показывает предварительный просмотр видео в AVCaptureVideoPreviewLayer экземпляр, который включает в себя CGRect (например, рамку вокруг пользователя). Этот слой имеет тот же размер, что и UIView который содержит слой (например, 667x375).

Как мне перевести CGRect из координатного пространства слоя на вывод изображения?

1 ответ

Я нашел ответ сам; правильный способ заключается в использовании метода metadataOutputRectConverted,

        let tempRect = layer.metadataOutputRectConverted(fromLayerRect: rect)
        let trans_rect = CGRect(x: tempRect.origin.x * image.size.width,
                                y: tempRect.origin.y * image.size.height,
                                width: tempRect.width * image.size.width,
                                height: tempRect.height * image.size.height)

куда image это UIImage пример.

Другие вопросы по тегам