Гораздо лучше «запомнить» объекты, которые вы нарисовали, чем рисовать их и пытаться собрать то, чем они являются из того, что вы нарисовали.Так, например, вы можете сохранить информацию рендеринга: (я не знаю машинопись)
let curves = [{start: 30, length: 40, color: "white"}/*...*/];
Затем отрендерить ее:
ctx.fillStyle = curve.color;
ctx.arc(CENTER_X, CENTER_Y, RADIUS, percentToRadians(curve.start), percentToRadians(curve.start + curve.length));
Затем, чтобы получить информацию,просто ссылка curves
.Значения z
зависят от порядка очереди рендеринга (curves
).
Конечно, вы, вероятно, могли бы собрать эти данные с холста, но я бы не рекомендовалэто.