Скажем, у меня есть круг (дуга) на холсте HTML5. Я могу просто заполнить его следующим образом:
ctx.arc(100, 100, 50, 0, 2 * Math.PI);
ctx.fill();
Это работает. Однако как можно заполнить противоположную область? Теперь он белый с черным кругом, но я хотел бы, чтобы он был по линии следующего изображения (на котором белый цвет фона, а черный - цвет заполнения):
Я знаю, что могу просто использовать черный фон и нарисовать белый круг, но фон может быть любым (все вещи были нарисованы там раньше, поэтому просто менять цвета невозможно).
Другое дело, что не полный холст должен быть заполнен, а квадрат с отмененным кругом.
Я думал о globalCompositeOperation
, но, похоже, он не соответствует моим потребностям, так как никто из них не действует в соответствии с тем, что мне нужно.
Итак, как я могу выполнить заполнение "противоположной" области, как в примере изображения?