Jak odwrócić UIImage
poziomo, znalazłem UIImageOrientationUpMirrored
wartość wyliczenia w UIImage
odwołaniu do klasy, jak wykorzystać tę właściwość do odwrócenia UIImage
.
ios
uiimage
uiimageorientation
pradeepa
źródło
źródło
Odpowiedzi:
Cel C
Szybki
źródło
UIImageOrientationUp
działała,UIImageOrientationUpMirrored
ale jej nie odwróciła . To zadziałało -image = [UIImage imageWithCGImage:image.CGImage scale:image.scale orientation:UIImageOrientationUp]
sourceImage.scale
skali.[flippedImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]
. Każdy pomysł, dlaczego?Bardzo prostym sposobem osiągnięcia tego jest utworzenie UIImageView zamiast UIImage i wykonanie transformacji w UIImageView.
Mam nadzieję że to pomoże.
źródło
UIImage
manipulacja, która miała efekty uboczne w połączeniu zUIImageRenderingModeAlwaysTemplate
trybem renderowania.yourImageView.transform = CGAffineTransformIdentity
Do zainicjowania tekstury OpenGL przy użyciu często wymagane jest odwrócenie w pionie
glTexImage2d(...)
. Powyższe proponowane sztuczki w rzeczywistości nie modyfikują danych obrazu i nie będą działać w tym przypadku. Oto kod do rzeczywistego odwrócenia danych zainspirowany https://stackoverflow.com/a/17909372źródło
Próbowałem z imageFlippedForRightToLeftLayoutDirection i tworząc nowy UIImage z różnymi orientacjami, ale przynajmniej jest to jedyne rozwiązanie, które znalazłem, aby odwrócić mój obraz
Jak widać na moim placu zabaw zadziałało !! :)
I oczywiście niech finalImage = UIImage (CIImage: rotada3)
źródło
Jak definiuje orientacja obrazu:
Wprowadziłem kilka ulepszeń dla większej liczby okoliczności, takich jak obsługa UIImage z AVCaptureSession.
źródło
oto szybka wersja: (widziałem to pytanie w komentarzach)
źródło
iOS 10+
Swift 4:
źródło
Jest to solidna implementacja do odbicia lustrzanego / odwrócenia UIImage w poziomie i może być stosowana do obrazu w tę iz powrotem. Ponieważ zmienia podstawowe dane obrazu, rysunek (taki jak zrzut ekranu) również się zmieni. Przetestowane pod kątem działania, bez utraty jakości.
źródło
Być może przyda się to niektórym:
źródło
Dla Swift 3/4:
źródło
Proste rozszerzenie.
Stosowanie:
źródło
To jest działająca wersja kompatybilna z iOS8 / 9:
źródło
imageFlippedForRightToLeftLayoutDirection
to być używane z odwróconymi kierunkami układu - na przykład dla krajów arabskich. Więc używanie tego może nie zawsze działać zgodnie z oczekiwaniami.Testowane w wersji Swift 3 i nowszych
Oto proste rozwiązanie tego problemu dzięki rozszerzeniom. Testuję to i zadziałało. Możesz odbić w dowolnym kierunku.
Wykorzystanie tego kodu
Tak dalej, możesz korzystać z innych funkcji.
źródło
Oto jedna z odpowiedzi powyżej, zmodyfikowana iw Swift 3, która jest szczególnie przydatna, gdy masz przycisk, który musi ciągle obracać obraz w tę iz powrotem.
Posługiwać się:
źródło
odpowiedź arotha w SWIFT 3:
źródło
Szybki 4
źródło
Ze względu na rozpakowanie wykonaj następujące czynności:
źródło
możesz obracać obraz, jak chcesz, używając tego
SWIFT 4
}
źródło
Swift 5 - Xcode 11.5
Najlepsze rozwiązanie do obracania w poziomie: obejrzyj ten film:
https://m.youtube.com/watch?v=4kSLbuB-MlU
Lub użyj tego kodu:
W tej animacji możesz użyć dowolnego interfejsu użytkownika (przycisku lub etykiety, widoku lub obrazu).
źródło