创建圆形图像Xaml

时间:2014-04-17 16:43:17

标签: xaml windows-phone-8

在Windows Phone 8中,我想将图像放在一个圆圈中。是否有像网格一样的圆形容器?我知道有椭圆位,它不是容器

2 个答案:

答案 0 :(得分:11)

我是这样做的。

<Ellipse Width="100"
         Height="100">
    <Ellipse.Fill>
        <ImageBrush>
            <ImageBrush.ImageSource>
                <BitmapImage UriSource="/YourImage.png" />
            </ImageBrush.ImageSource>
        </ImageBrush>
    </Ellipse.Fill>
</Ellipse>

作为最佳做法,请考虑将DecodePixelWidthDecodePixelHeight设置为与椭圆相同的尺寸。

答案 1 :(得分:6)

mleroy的答案的另一个选择(因为如果我记得正确的WP是基于silverlight而且我经常遇到缺乏刷子可用性来做这样的事情。)你可以使用Clip属性来做到这一点。

例如;

<Image 
  Source="blah\yourpicture.jpg" 
  Width="100" Height="100">
  <Image.Clip>
    <EllipseGeometry
      RadiusX="100"
      RadiusY="100"
      Center="100,100"/>
  </Image.Clip>
</Image>

希望这会有所帮助,欢呼

编辑添加:您还可以将半径X / Y绑定到图像的宽度/高度,以便在动态大小的图像上获得更大的灵活性。