在本文中:https://msdn.microsoft.com/en-us/library/windows/apps/jj206957%28v=vs.105%29.aspx显示了一种将图像剪切为椭圆的方法,但是当我将其复制到我的项目时,我得到一个错误,我不能使用椭圆几何体,因为期望的类型是“RectangleGeometry” 。我正在构建一个Windows Phone 8应用程序。
这篇文章有什么问题,或者我遗失了什么?
我的xaml代码示例:
<Border BorderThickness="1" BorderBrush="AliceBlue">
<Grid Margin="{StaticResource GridMargin}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="2*"></ColumnDefinition>
<ColumnDefinition Width="1.5*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Stretch="Uniform" Source="{Binding Photo}">
<Image.Clip>
<EllipseGeometry RadiusX="100" RadiusY="100" Center="225,175"/>
</Image.Clip>
</Image>
<Grid Grid.Column="1" Margin="{StaticResource SmallGridMargin}">
<Grid.RowDefinitions>
<RowDefinition Height="1.5*"></RowDefinition>
<RowDefinition Height="2*"></RowDefinition>
<RowDefinition Height="1*"></RowDefinition>
</Grid.RowDefinitions>
<Viewbox Stretch="Uniform" Grid.Row="0">
<TextBlock Text="{Binding BookAuthor}"></TextBlock>
</Viewbox>
<Viewbox Stretch="Uniform" Grid.Row="1">
<TextBlock Text="{Binding BookTitle}"></TextBlock>
</Viewbox>
<Viewbox Stretch="Uniform" Grid.Row="2">
<TextBlock Text="{Binding Id}"></TextBlock>
</Viewbox>
</Grid>
答案 0 :(得分:10)
MSDN说:
Windows运行时API中UIElement.Clip的剪切几何必须是RectangleGeometry。您无法指定非矩形几何体,正如某些XAML框架(如Microsoft Silverlight)所允许的那样。
但是你可以使用Ellipse和ImageBrush元素作为Fill brush来实现相同的结果:
x86_64=set([0,1,5,8,9,10,11,12,16,21,25,63,89,158,219,231])