2009-05-27 9 views
8

Używam kod w tym przykładzie, aby pomóc i to działa dobrze. http://www.platinumball.net/blog/2009/03/30/iphone-uiimage-rotation-and-mirroring/UIImage Rotacja niestandardowych stopni

nie mogę treningu jak obrócić o kwotę niestandardowych stopni pomiędzy 0 & 360 ....

+1

Polecam tu tag iphone ... –

+1

Dodano tag iPhone –

+0

Świetny kawałek kodu. Nie wykonuje arbitralnej rotacji, ale jest efektywny i bardzo dobrze radzi sobie z orientacją obrazu z lustrzanym odbiciem. –

Odpowiedz

14

Będziemy chcieli zrobić dość dużo ten sam materiał jak w tym poście nie w rotacji:

CGSize size = sizeOfImage; 
UIGraphicsBeginImageContext(size); 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 
CGContextRotateCTM(ctx, angleInRadians); 
CGContextDrawImage(ctx, (CGRect){{}, size}, image); 

UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
return image; 

Konieczne może być również przetłumaczenie WZT oprócz obracania, aby skompensować środek obrotu. Jeśli nie chcesz przycinać krawędzi obrazu podczas obracania, powinieneś zwiększyć rozmiar za pomocą podstawowych wyzwalaczy.

+0

To działa świetnie! Ta –

+0

Cześć, czym jest "ctx"? – LouwHopley

+1

'ctx' jest po prostu kontekstem graficznym. Zaktualizowałem źródło, aby to zaznaczyć. –