Comment retourner UIImage
horizontalement, j'ai trouvé la UIImageOrientationUpMirrored
valeur d'énumération dans la UIImage
référence de classe, comment utiliser cette propriété pour retourner UIImage
.
ios
uiimage
uiimageorientation
Pradepa
la source
la source
Réponses:
Objectif c
Rapide
la source
UIImageOrientationUp
fonctionnéUIImageOrientationUpMirrored
sans la retourner. Cela a fonctionné -image = [UIImage imageWithCGImage:image.CGImage scale:image.scale orientation:UIImageOrientationUp]
sourceImage.scale
pour l'échelle.[flippedImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]
. Une idée pourquoi?Un moyen très simple d'y parvenir est de créer une UIImageView au lieu d'une UIImage et d'effectuer la transformation sur UIImageView.
J'espère que cela t'aides.
la source
UIImage
manipulation, qui, selon moi, avait des effets secondaires lorsqu'elle était combinée avec leUIImageRenderingModeAlwaysTemplate
mode de rendu.yourImageView.transform = CGAffineTransformIdentity
Un retournement vertical est souvent nécessaire pour initialiser la texture OpenGL à l'aide de
glTexImage2d(...)
. Les astuces proposées ci-dessus ne modifient pas réellement les données d'image et ne fonctionneront pas dans ce cas. Voici un code pour faire le flip de données réel inspiré par https://stackoverflow.com/a/17909372la source
J'ai essayé avec imageFlippedForRightToLeftLayoutDirection, et j'ai créé une nouvelle UIImage avec différentes orientations, mais au moins c'est la seule solution que j'ai trouvée pour retourner mon image
Comme vous pouvez le voir dans mon terrain de jeu, cela a fonctionné !! :)
Et, bien sûr, laissez finalImage = UIImage (CIImage: rotada3)
la source
Tel que défini par l'orientation de l'image:
J'ai apporté quelques améliorations pour plus de circonstances comme la gestion de UIImage à partir d'AVCaptureSession.
la source
voici la version rapide: (j'ai vu cette question dans les commentaires)
la source
iOS 10+
Swift 4:
la source
Il s'agit d'une implémentation solide pour refléter / retourner une UIImage horizontalement et peut s'appliquer à l'image dans les deux sens. Puisqu'il change les données d'image sous-jacentes, le dessin (comme, capture d'écran) changera également. Testé pour fonctionner, aucune perte de qualité.
la source
Peut-être que cela sera utile pour certains:
la source
Pour Swift 3/4:
la source
Une simple extension.
Usage:
la source
Ceci est une version compatible iOS8 / 9:
la source
imageFlippedForRightToLeftLayoutDirection
est destiné à être utilisé avec des directions de mise en page inversées - par exemple pour les pays arabes. Donc, utiliser cela peut ne pas toujours fonctionner comme vous le souhaitez.Testé dans Swift 3 et supérieur
Voici la solution simple pour résoudre ce problème avec les extensions. Je l'ai testé et cela a fonctionné. Vous pouvez refléter dans n'importe quelle direction.
Utilisation de ce code
Ainsi de suite, vous pouvez utiliser d'autres fonctions.
la source
Voici l'une des réponses ci-dessus modifiées et dans Swift 3 que j'ai trouvée particulièrement utile lorsque vous avez un bouton qui doit continuer à faire pivoter l'image d'avant en arrière.
Utilisation:
la source
réponse d'aroth dans SWIFT 3:
la source
Swift 4
la source
En raison du déballage, procédez comme suit:
la source
vous pouvez faire pivoter l'image comme vous le souhaitez en utilisant ceci
SWIFT 4
}
la source
Swift 5 - Xcode 11.5
La meilleure solution pour une rotation horizontale: regardez cette vidéo:
https://m.youtube.com/watch?v=4kSLbuB-MlU
Ou utilisez ce code:
Vous pouvez utiliser n'importe quelle interface utilisateur (bouton ou étiquette ou uiview ou image) dans cette animation.
la source