Cómo voltear UIImage
horizontalmente, encontré el UIImageOrientationUpMirrored
valor de enumeración en la UIImage
referencia de la clase, cómo hacer uso de esta propiedad para voltear UIImage
.
ios
uiimage
uiimageorientation
pradeepa
fuente
fuente
Respuestas:
C objetivo
Rápido
fuente
UIImageOrientationUp
funcionó mientrasUIImageOrientationUpMirrored
no la invertía. Esto funcionó -image = [UIImage imageWithCGImage:image.CGImage scale:image.scale orientation:UIImageOrientationUp]
sourceImage.scale
para la escala.[flippedImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]
. ¿Alguna idea de por qué?Una forma muy sencilla de lograr esto es creando un UIImageView en lugar de un UIImage y hacer la transformación en UIImageView.
Espero que esto ayude.
fuente
UIImage
manipulación, que descubrí que tenía efectos secundarios cuando se combinaba con elUIImageRenderingModeAlwaysTemplate
modo de renderizado.yourImageView.transform = CGAffineTransformIdentity
A menudo se requiere un giro vertical para inicializar la textura OpenGL usando
glTexImage2d(...)
. Los trucos propuestos anteriormente no modifican realmente los datos de la imagen y no funcionarán en este caso. Aquí hay un código para hacer el cambio de datos real inspirado en https://stackoverflow.com/a/17909372fuente
He intentado con imageFlippedForRightToLeftLayoutDirection y creando un nuevo UIImage con diferentes orientaciones, pero al menos esta es la única solución que encontré para voltear mi imagen
Como pueden ver en mi patio de recreo funcionó !! :)
Y, por supuesto, deje finalImage = UIImage (CIImage: rotada3)
fuente
Como define la orientación de la imagen:
Hice algunas mejoras para más circunstancias como manejar UIImage de AVCaptureSession.
fuente
aquí está la versión rápida: (Vi esta pregunta en los comentarios)
fuente
iOS 10+
Rápido 4:
fuente
Esta es una implementación sólida para reflejar / voltear un UIImage horizontalmente, y se puede aplicar a la imagen hacia adelante y hacia atrás. Dado que cambia los datos de la imagen subyacente, el dibujo (como una captura de pantalla) también cambiará. Probado para funcionar, sin pérdida de calidad.
fuente
Puede ser que esto sea de utilidad para algunos:
fuente
Para Swift 3/4:
fuente
Una simple extensión.
Uso:
fuente
Esta es una versión compatible con iOS8 / 9 que funciona:
fuente
imageFlippedForRightToLeftLayoutDirection
está destinado a utilizarse con direcciones de diseño invertidas, por ejemplo, para países árabes. Por lo tanto, es posible que usar esto no siempre funcione como se desea.Probado en Swift 3 y superior
Aquí está la solución simple para lograr este problema con extensiones. Lo probé y funcionó. Puede reflejar en cualquier dirección.
Uso de este código
Así sucesivamente, puede utilizar otras funciones.
fuente
Aquí está una de las respuestas anteriores modificadas y en Swift 3 que encontré particularmente útil cuando tiene un botón que necesita mover la imagen hacia adelante y hacia atrás.
Utilizar:
fuente
La respuesta de aroth en SWIFT 3:
fuente
Rápido 4
fuente
Para desenvolverlo, haga lo siguiente:
fuente
puedes rotar la imagen como quieras usando este
SWIFT 4
}
fuente
Swift 5 - Xcode 11.5
La mejor solución para rotaciones horizontales: vea este video:
https://m.youtube.com/watch?v=4kSLbuB-MlU
O usa este código:
Puede usar cualquier interfaz de usuario (botón o etiqueta o vista de vista o imagen) en esta animación.
fuente