WPF плавная отрисовка круга

79
01 декабря 2019, 05:40

Продолжаю разбираться с анимацией, и на этот раз не могу справиться с задачей плавной отрисовки круга, т.е. как будто человек его рисует ручкой.

Понял, что вмешаться в процесс отрисовки через Ellipse не получится, потому пошел в сторону Path и ArcSegment.

Как я понял, просто нарисовать круг через ArcSegment не получится, придется рисовать два полукруга. Но как управлять углом отрисовки? Ведь анимацию плавной отрисовки необходимо именно на этот параметр устанавливать.

Может есть какие-то другие способы нарисовать "бублик"?

Answer 1

Достаточно одного ArcSegment.

Данные, общие для каждого шага - радиус окружности (два раза в Size), и центр окружности, направление заполнения (например, CCW) и RotationAngle

На каждом шаге из центра, радиуса и угла рассчитывается конечная точка - аргумент Point. Кроме того, для углов более 180 градусов нужно изменить соотв. аргумент IsLargeArc

READ ALSO
Как написать код элегантнее? Laravel

Как написать код элегантнее? Laravel

Как в Laravel средствами внутренних функций написать этот код более элегантнее?

121
Замена синонимов по шаблону PHP

Замена синонимов по шаблону PHP

Есть ряд синонимов, которые заменяются на нужные словоформы:

118
Почему разная длина пароля?

Почему разная длина пароля?

Формирую пароль:

140
Как передать сумму из калькулятора в письмо формы?

Как передать сумму из калькулятора в письмо формы?

Есть форма с инпутамиЭто калькулятор

141