Перевести 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
пример.