本文內容:https://msdn.microsoft.com/en-us/library/windows/apps/jj206957%28v=vs.105%29.aspx顯示了一種將圖像剪切爲橢圓的方法,但是當我將其複製到我的項目時,我得到一個錯誤,指出我不能使用橢圓幾何,因爲預期類型是「矩形幾何」。我正在構建一個Windows Phone 8應用程序。如何在XAML中將圖像剪輯爲橢圓
這篇文章有什麼問題,或者我錯過了什麼嗎?
我的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>
這是奇怪的,也是[這裏](https://msdn.microsoft.com/en-us /library/windows/apps/windows.ui.xaml.uielement.clip.aspx)解釋說:「Windows Runtime API中的UIElement.Clip的剪切幾何必須是RectangleGeometry,不能指定非矩形幾何,正如Microsoft Silverlight等一些XAML框架所允許的那樣。「 –
可惜的是,剪裁圈最近得到了流行。 ( –
)您可以使用'Image.OpacityMask'(如文章中所述)給出相同的預期效果。只需使GradientStop彼此非常接近(0.01距離)。 – Barnstokkr