Мне нужно нарисовать дугу на устройстве D2D, есть ли функция, которая делает это? (Что-то вроде DrawLine или DrawEllipse) В противном случае я видел, что есть функция ArcSegment, которая возвращает структура D2D1_ARC_SEGMENT, как я могу это сделать?C++ Рисование дуг в устройстве Direct2D
0
A
ответ
1
D2D1_ARC_SEGMENT
может использоваться при заполнении геометрии пути (ID2D1PathGeometry
). После того, как вы добавили дугу, которую хотите по пути, вы можете нарисовать ее, используя ID2D1RenderTarget::Draw/FillGeometry()
.
0
Я не слишком хорошо знаком с Direct2D, поэтому я не знаю какой-либо конкретной функции, которая позволила бы вам это сделать, однако это не мешает вам реализовать свою собственную функцию для достижения того, чего вы хотите.
Я рекомендую смотреть в шлицы и как они рассчитываются wiki
кажется, хорошее место, чтобы начать. Затем вы можете сгенерировать свою дугу с формулой и несколькими вызовами DrawLine.
Редактировать: или даже this может служить вам лучше.