У меня есть код в приложении для iPhone, чтобы нарисовать круговую диаграмму в UIView. Все отлично, но мне нужно иметь возможность использовать мелкоподобную текстуру, чтобы нарисовать контуры, а затем залить разными цветами круговой диаграммы.
Вот выдержки из существующего кода для каждой области:
Рисование круга вокруг круговой диаграммы:
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(ctx, 1.0, 1.0, 1.0, 1.0);
CGContextSetLineWidth(ctx, 8.0);
// Draw a thin line around the circle
CGContextAddArc(ctx, x, y, r, 0.0, 360.0*M_PI/180.0, 0);
CGContextClosePath(ctx);
CGContextDrawPath(ctx, kCGPathStroke);
... и рисование отрезка пирога:
CGContextSetRGBStrokeColor(ctx, 1.0, 1.0, 1.0, 1.0);
CGContextSetLineWidth(ctx, 8.0);
CGContextMoveToPoint(ctx, x, y);
CGContextAddArc(ctx, x, y, r, (startDeg-90)*M_PI/180.0, (endDeg-90)*M_PI/180.0, 0);
CGContextClosePath(ctx);
CGContextDrawPath(ctx, kCGPathStroke);
... затем заполняя его цветной заливкой:
CGContextSetRGBFillColor(ctx, color.red, color.green, color.blue, color.alpha );
CGContextMoveToPoint(ctx, x, y);
CGContextAddArc(ctx, x, y, r, (startDeg-90)*M_PI/180.0, (endDeg-90)*M_PI/180.0, 0);
CGContextClosePath(ctx);
CGContextFillPath(ctx);
Игнорируя тот факт, что я не вставил в объявления переменных многие используемые переменные, я надеюсь, что код довольно понятен.
Теперь: как я могу изменить код, чтобы использовать текстуру для фактического рисования линий / дуг?
Аналогично, как я могу использовать текстурную заливку вместо цветовой заливки?
Я пытаюсь закончить это приложение, и это мой последний камень преткновения. Другие вопросы о SO и других местах в Интернете, похоже, не отвечают на вопрос так, как я могу следовать.
Любая помощь будет принята с благодарностью!
Роберт