Piszę aplikację na iPada, w której renderuję obiekty XML reprezentujące kształty w grafice na ekranie. Jednym z obiektów, które próbuję renderować, są łuki. Zasadniczo te łuki zapewniają mi prostokąt obwiedniowy, a także kąt początkowy i końcowy.Rysuj elipsę z początkowym i końcowym kątem w Objective-C
Podane atrybuty:
- x
- y
- szerokość
- wysokość
- startAngle
- endAngle
Tymi wartościami muszę narysować łuk (który jest w istocie częścią elipsy). Nie mogę użyć następującego:
UIBezierPath *arc = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(x, y, width, height)];
[UIColor blackColor] setStroke];
[arc stroke];
ponieważ rysuje pełną elipsę. Zasadniczo potrzebuję powyższego, ale musi wziąć pod uwagę kąt początkowy i końcowy, więc wyświetlana jest tylko część elipsy. Myślę, że będzie to wymagać albo narysowania sześciennej krzywej Beziera, albo kwadratowej krzywej Beziera. Problem polega na tym, że nie mam pojęcia, jak obliczyć punkt początkowy, punkt końcowy lub punkty kontrolne za pomocą informacji, które otrzymałem.
Dzięki, działał jak czar (wciąż nowy w Objective-C, a także w rysowaniu grafiki). –