To naprawdę ból, ale zawsze, gdy rysuję UIImage w -drawRect :, jest odwrócony do góry nogami.Jak skompensować odwrócony układ współrzędnych grafiki głównej dla łatwego rysowania?
Po odwróceniu współrzędnych obraz jest rysowany poprawnie, ale kosztem wszystkich innych funkcji CG jest rysowanie "źle" (odwrócone).
Jaka jest Twoja strategia, gdy musisz rysować obrazy i inne rzeczy? Czy jest jakaś reguła, jak nie utknąć w tym problemie w kółko?
Jedną z nieprzyjemnych rzeczy, gdy odwracam oś Y, jest to, że mój CGRect z ramki UIImageView jest nieprawidłowy. Zamiast oczekiwanego pojawienia się 10,10 u góry po lewej stronie pojawia się na dole.
Ale jednocześnie wszystkie normalne funkcje rysowania linii CGContext przyjmują prawidłowe współrzędne. narysowanie linii w -suWybierz ze źródłem 10,10 u góry po lewej, zacznie się naprawdę od górnego lewego rogu. Ale w tym samym czasie jest to dziwne, ponieważ główna grafika ma odwrócony układ współrzędnych z y 0 na dole.
Wygląda więc na to, że coś tam jest naprawdę niekonsekwentne. Rysowanie za pomocą funkcji CGContext przyjmuje współrzędne jako "oczekiwane" (cmon, nikt nie myśli we współrzędnych zaczynając od lewego dolnego, to jest głupie), podczas gdy rysowanie dowolnego obrazu nadal działa "w niewłaściwy" sposób.
Czy używasz metod pomocniczych do rysowania obrazów? A może jest coś użytecznego, co sprawia, że rysowanie obrazów nie jest bolesne w tyłku?
Tak, prawda. Ale kiedy przetłumaczyć i odwrócić, wszystkie inne funkcje rysowania CG, takie jak rysowanie linii itp., Wydają się źle rysować. Masz więc wybór: błędne obrazy lub złe ścieżki. Lub cały czas w tę iz powrotem. – dontWatchMyProfile
mystify: Możesz podzielić kod flip-space na metodę i/lub użyć gstate, aby zapisać i przywrócić klapkę, ale zobacz drugą odpowiedź, którą właśnie napisałem. –