#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. конечно. не забудьте сообщить мне результат