如何在Silverlight中从半径和内角绘制圆弧

时间:2010-02-19 13:36:53

标签: silverlight silverlight-3.0 drawing geometry geometric-arc

在silverlight 3项目中,我必须以编程方式绘制圆弧,并且我有圆的半径和圆弧的内角。你能指点我一些相关的文章。

感谢您的期待!

哈里斯

3 个答案:

答案 0 :(得分: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和角度θ。这应该建立点系列。

答案 1 :(得分:2)

你会想要看一下Silverlight中的Paths,特别是在ArcSegments部分。

ArcSegment Documentation

MSDN Path Geometry Samples

答案 2 :(得分:1)

使用 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>