На самом деле вам не нужно перерисовывать ваши дуги, чтобы использовать .isPointInPath()
- просто пропустите все вызовы .fill()
или .stroke()
, и у вас будет путь, который вы можете использовать, чтобы проверить, содержит ли он точку .
Я бы предложил иметь одну функцию, которая очерчивает путь дуги (.beginPath()
, команды пути, .closePath()
), а затем две функции, которые ее вызывают - одна, которая вызывает функцию пути дуги, затем устанавливает стиль заливки и заливки. путь для его прорисовки, и другой, который вызывает функцию пути дуги, а затем просто проверяет, находится ли точка в пути.