我想修改WPF椭圆的半长轴,因为我需要创建一个看起来像蛋的椭圆。另外我需要用ImageBrush填充椭圆,所以带有DrawingBrush的Grid实际上不是一个选项。我有什么想法可以做到这一点吗?
更新
就像克莱门斯建议的那样,here是一张图片的链接,我喜欢它:)
答案 0 :(得分:1)
椭圆有Width
和Height
。两者中较大的一个定义了主轴,其中一半称为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
的路径,该路径具有RadiusX
和RadiusY
属性。其中较大的一个直接定义了半长轴。
<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>