Mam CGRect
; czy mogę przenieść jego współrzędne, aby znaleźć się w układzie współrzędnych użytkownika, tj. w lewym dolnym rogu do góry zamiast w lewym górnym rogu do dołu. Czy istnieje jakaś wcześniej zdefiniowana metoda lub czy muszę ją obliczać ręcznie? Z góry dziękuję.Zmiana C Prawidłowa wartość na układ współrzędnych użytkownika
Odpowiedz
Aby przekonwertować prostokąt z układu współrzędnych, który ma swoje źródło w lewym dolnym rogu (nazwijmy go tradycyjnym układem współrzędnych, aby nadać mu nazwę), system, w którym początek znajduje się w lewym górnym rogu (układ współrzędnych telefonu iPhone), trzeba znać rozmiar widoku, w którym znajduje się CGRect
, ponieważ widok jest odniesieniem do prostokąta.
Załóżmy na przykład, że masz widok o rozmiarze 200 x 300, a numer CGRect
to CGRectMake(10, 20, 30, 40)
. Rozmiar modelu CGRect
pozostanie niezmieniony. Wszystko, co się zmieni, to pochodzenie - w rzeczywistości zmieni się tylko współrzędna y, a nie współrzędna x, ponieważ zarówno tradycyjne, jak i układy współrzędnych iPhone'a zaczynają się po lewej stronie (jedna w lewym dolnym rogu, druga w lewym górnym rogu).
Tak więc będziemy mieli coś w rodzaju CGRectMake(10, y, 30, 40)
.
- (CGRect)rectangle:(CGRect)oldRect fromTraditionalToiPhoneCoordinatesWithReferenceViewOfSize:(CGSize)aSize
{
CGFloat oldY = oldRect.origin.y; // This is the old y measured from the bottom left.
CGFloat newY = aSize.height - oldY - oldRect.size.height;
CGRect newRect = oldRect;
newRect.origin.y = newY;
return newRect;
}
Nowy prostokąt, mierzona od iPhone (lewy górny róg) układu współrzędnych, to: CGRectMake(10, 300 - 20 - 40, 30, 40) = CGRectMake(10, 240, 30, 40)
.
Mam nadzieję, że to sprawia, że obraz jest wyraźniejszy
+1 Dziękuję bardzo za odpowiedź jest naprawdę dobra ... – ajay
- 1. Jak obracać układ współrzędnych?
- 2. Układ współrzędnych grafiki rdzenia
- 3. układ współrzędnych oświetlenia per-fragment
- 4. Układ współrzędnych aparatu otworkowego model
- 5. Układ współrzędnych n-kuli do układu współrzędnych kartezjańskich
- 6. Jak układ współrzędnych kamery jest zorientowany na OpenCV?
- 7. Konwersja szerokości i długości geograficznej na układ współrzędnych ECEF
- 8. Prawidłowa wartość eCPM w zapośredniczeniu AdMob
- 9. Jak skonfigurować układ współrzędnych Quartz2D użytkownika ze skalowaniem unikającym rysowania rozmytego?
- 10. Jak skompensować odwrócony układ współrzędnych grafiki głównej dla łatwego rysowania?
- 11. Zmiana na użytkownika root wewnątrz skryptu powłoki
- 12. zmiana domyślnej powłoki logowania użytkownika na RHEL?
- 13. Układ Qt, zmiana rozmiaru na minimum po zmianie rozmiaru widżetu
- 14. Określenie współrzędnych na skraju kręgu
- 15. Prawidłowa ścieżka pliku wewnątrz aplikacji konsoli C#
- 16. C++ 11: Prawidłowa inicjalizacja std :: array?
- 17. Zmiana użytkownika NSURLConnection
- 18. Powiązanie WPF - Powiadom Zmiana na wartość ToString
- 19. zmiana dodatniej na ujemną wartość w mysql
- 20. Auto Układ zmiana ograniczenie nie animować
- 21. Zmiana koloru tła Układ liniowy podczas klikania
- 22. laravel 5 -> getRealPath() doenst pokaz prawidłowa wartość
- 23. Używanie współrzędnych geograficznych jako współrzędnych wierzchołków w pakiecie igraph r
- 24. Prawidłowa zmienna paypal IPN dla zawieszonych subskrypcji
- 25. Semantyczny interfejs użytkownika - zmiana motywu
- 26. Interfejs użytkownika telefonu z Androidem - zmiana
- 27. Zmiana nazwy użytkownika konta GitHub
- 28. Zmiana hasła dla użytkownika npm
- 29. Zmiana właściwości serwera terminali użytkownika ADA za pomocą C#
- 30. Przecięcie dwóch linii na współrzędnych
Odpowiedź zależy od użytkowania, które przekształcane CGRect. Co zamierzasz zrobić z przekształconym prostokątem? – Anurag
Mam wartość prostokąta linii w domyślnym układzie współrzędnych (użytkownik) teraz chcę współrzędne w systemie współrzędnych użycia iphone. – ajay
Masz zatem prostokąt w układzie współrzędnych, którego pochodzenie znajduje się w lewym dolnym rogu i chcesz przekonwertować go na układ współrzędnych systemu iOS? Czy możesz podać przykład prostokąta, który masz w domyślnym układzie współrzędnych? – Anurag