Как нарисовать дугу от радиуса и внутреннего угла в Silverlight
В проекте Silverlight 3 я должен нарисовать дугу программно, и у меня есть радиус круга и внутренний угол дуги. Не могли бы вы направить меня к некоторым связанным статьям.
Спасибо в ожидании!
Харис
3 ответа
Решение
Это хорошая статья о динамическом построении дуг http://codingbandit.com/Blog/blog/dynamically-creating-path-data-in-silverlight-2/
Для расчета баллов используется следующая формула.
x = a + r * cos(θ)
y = b + r * sin(θ)
* r is the radius of the circle
* (a,b) is the center of the circle
* (x,y) is the point on the circumference
* θ is the angle in degrees
* radian = degree * π/180
у вас есть радиус круга r, а также угол θ. Это должно создать точечный ряд.
Вы захотите взглянуть на Пути в Silverlight и, в частности, на раздел ArcSegments.
С Expression Blend 4. Вы могли бы использовать Arc
,
Пример:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ed="http://schemas.microsoft.com/expression/2010/drawing"
x:Class="SilverlightApplication1.MainPage"
Width="640" Height="480">
<Grid x:Name="LayoutRoot" Background="White">
<Canvas Margin="101,88,118,125">
<ed:Arc ArcThickness="0" ArcThicknessUnit="Pixel" EndAngle="90" Fill="#FFF4F4F5" Height="60" Canvas.Left="101" Stretch="None" Stroke="Black" StartAngle="0" Canvas.Top="63" UseLayoutRounding="False" Width="57"/>
</Canvas>
</Grid>
</UserControl>