修改WPF椭圆中的半长轴

时间:2013-06-13 21:41:20

标签: wpf ellipse

我想修改WPF椭圆的半长轴,因为我需要创建一个看起来像蛋的椭圆。另外我需要用ImageBrush填充椭圆,所以带有DrawingBrush的Grid实际上不是一个选项。我有什么想法可以做到这一点吗?

更新

就像克莱门斯建议的那样,here是一张图片的链接,我喜欢它:)

1 个答案:

答案 0 :(得分:1)

椭圆有WidthHeight。两者中较大的一个定义了主轴,其中一半称为semi-major axis

Ellipse可以通过其Fill属性填充ImageBrush。

<Ellipse Width="400" Height="300">
    <Ellipse.Fill>
        <ImageBrush ImageSource="C:\Users\Public\Pictures\Sample Pictures\Jellyfish.jpg"/>
    </Ellipse.Fill>
</Ellipse>

另一种方法是使用带有EllipseGeometry的路径,该路径具有RadiusXRadiusY属性。其中较大的一个直接定义了半长轴。

<Path>
    <Path.Data>
        <EllipseGeometry RadiusX="200" RadiusY="150"/>
    </Path.Data>
    <Path.Fill>
        <ImageBrush ImageSource="C:\Users\Public\Pictures\Sample Pictures\Jellyfish.jpg"/>
    </Path.Fill>
</Path>

为了创建一个不对称的蛋状形状,你可以将两个elliptical arc segments结合起来:

<Path Data="M 0,-150 A 150,150 0 1 0 0,150 A 200,150 0 0 0 0,-150">
    <Path.Fill>
        <ImageBrush ImageSource="C:\Users\Public\Pictures\Sample Pictures\Jellyfish.jpg"/>
    </Path.Fill>
</Path>