2016-07-23 8 views
-1

Как найти центр дуги в холсте с помощью JavaScript?Найти центр дуги в холсте

enter image description here

Мне нужно, чтобы найти положение дуги, и это центр.

+0

Что вы имеете в виду? Нарисованы ли на холсте, или это случайное изображение, которое вы импортируете на холст? Также по дуге вы имеете в виду центр кругов? Если это всего лишь какое-то изображение, помещенное на холст, и вы хотите найти центр этих кругов с изображением, это будет непросто. –

+0

@ spencer-wieczorek Я хочу извлечь центр неполного круга из изображения. это '' и каждый раз, когда изображение отличается, поэтому мне нужно найти несколько дуг, которые делают неполный круг и найти его центр. Мне удалось поместить изображение в холст, но оттуда я понятия не имею, что делать. – Mevkok

ответ

1

Если код обратил дугу context.arc(centerX,centerY,radius,startAngle,endAngle)

Дуга определяется его центральной точки, радиус, StartAngle & endAngle так, то у вас уже есть точка центра: [centerX, centerY].

Если вы не рисовать дуги, а просто иметь изображение, содержащее различные цветные дуги

  • Использование context.getImageData для извлечения всех цветов пикселей на холсте.
  • Найдите координаты 3 пикселей с цветом нужной дуги. Точки не должны быть однолинейными и, предпочтительно, они разумно отделены друг от друга.
  • Используйте эти 3 координаты & алгоритм в этом Stackoverflow Q&A, чтобы найти центр.
+0

И как мне найти эти координаты? – Mevkok

+0

«Как найти эти координаты?» Узнайте о '.getImageData'! Он возвращает красные, зеленые и синие цвета, которые составляют каждый пиксель на изображении в зависимости от местоположения пикселя. Этот [Q & A] (http://stackoverflow.com/questions/29792199/canvas-pixels-to-coordinates/29806231#29806231) показывает, как извлекать данные изображения RGBA изображения и находить пиксели с определенным цветом RGB. Если вы не знаете нужный RGB, вам нужно будет нажать на нужный цвет и получить RGB этого щелкнутого пикселя - снова используя '.getImageData (mouseX, mouseY, 1, 1)'. – markE

 Смежные вопросы

  • Нет связанных вопросов^_^