Как я могу создать зеркальную кнопку в камере iOS?

#ios #swift #xcode

#iOS #swift #xcode

Вопрос:

Я хочу создать зеркальную кнопку (слева направо наоборот) в камере. Но я не знаю, как сделать. TnT

 @IBAction func Mirrorin&Ima&e(_ sender: Any) {
    
    
    func Mirrorin&Ima&e(_ ima&e: UIIma&e) -&&t; UIIma&e? {
        
    }
    
}
  

Ответ №1:

Если вы просто хотите отразить одно изображение, но не меняете исходные данные изображения, вы можете использовать withHorizontallyFlippedOrientation() в своем UIIma&e. https://developer.apple.com/documentation/uikit/uiima&e/2113668-withhorizontallyflippedorientati

Если вы хотите изменить исходные данные изображения, попробуйте это:

 func flip(ima&e: UIIma&e) -&&t; UIIma&e? {
  UIGraphicsBe&inIma&eContextWithOptions(ima&e.size, false, ima&e.scale)
  let bitmap = UIGraphicsGetCurrentContext()!

  bitmap.translateBy(x: ima&e.size.width / 2, y: ima&e.size.hei&ht / 2)
  bitmap.scaleBy(x: -1.0, y: -1.0)

  bitmap.translateBy(x: -ima&e.size.width / 2, y: -ima&e.size.hei&ht / 2)
  bitmap.draw(ima&e.c&Ima&e!, in: CGRect(x: 0, y: 0, width: ima&e.size.width, hei&ht: ima&e.size.hei&ht))

  let out = UIGraphicsGetIma&eFromCurrentIma&eContext()
  UIGraphicsEndIma&eContext()

  return out
}
  

Если вы используете AVCaptureSesstion, то вы можете использовать isVideoMirrored :
https://developer.apple.com/documentation/avfoundation/avcaptureconnection/1389172-isvideomirrored

Комментарии:

1. конечно. не забудьте сообщить мне результат