В разработке под iOS, используя Core Graphics и / или Quartz 2D, как я могу нарисовать круг, заполненный градиентом, таким образом, чтобы он выглядел как сфера?

До сих пор я рассматривал использование CGContextDrawLinearGradient () и CGContextDrawRadialGradient (), однако с первым я не могу понять, как сделать градиент похожим на сферу, а с последним я не могу понять, как сделать градиент в форме сферы. , потому что каждый раз, когда я пытаюсь, он получается в форме полного цилиндра, а не только сферы.

Код, который я использую для текущего рисования 2D круга, показан ниже. Я хотел бы использовать градиент или любой другой метод, который возможен с использованием только Core Graphics и / или Quartz 2D, чтобы заполнить круг так, чтобы он выглядел как сфера.

Текущий код для рисования круга:

CGContextRef ctx = UIGraphicsGetCurrentContext();
float x = 20.0;
float y = 20.0;
float radius = 12.5;
CGContextFillEllipseInRect(ctx, CGRectMake(x, y, radius, radius);

P.S. - Приведенный выше код работает так, как и предполагалось, поэтому, если есть какие-то ошибки, это просто мои ошибки при вводе вопроса, а не при вводе кода в фактический файл.

6
задан user1118321 14 March 2015 в 01:58
поделиться