如何在Windows Phone上将正方形图像变为圆形图像

18

在Windows手机上,是否可以将正方形图片制作为圆形图片? 我有很多需要显示成圆形的图片。但是怎样才能做到呢?

3个回答

58

在 XAML 中,您想要使用 Ellipse 控件创建圆形。然后给它一个 ImageBrush 填充。

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

1
请注意,这不会保持纵横比。 - Nateous
8
使用<ImageBrush ImageSource="YourImage.png" Stretch="UniformToFill"/>来保持纵横比并裁剪图像。 - Nateous
好观点,@Nateous!谢谢。如果你正在进行缩放,请不要忘记 <Ellipse Height="100" Width="100" RenderOptions.BitmapScalingMode="HighQuality">,否则它会看起来很丑。 - Kim Homann

16

我的想法非常简单:

<Image Source="ImagePath" Width="326" Height="188">
    <Image.Clip>
        <EllipseGeometry Center="170,90" RadiusX="90" RadiusY="90" />
    </Image.Clip>
</Image>

或者您可以对图像应用透明度蒙版,以创建各种与不透明度相关的照片遮罩。

<Image Source="ImagePath" >
       <Image.OpacityMask>
              <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">                          
                            <GradientStop Color="#ffffffff" Offset="0.5" />
                            <GradientStop Color="#00ffffff" Offset="0.8" />
               </RadialGradientBrush>
       </Image.OpacityMask>
</Image>

两个选项都无法在Windows Phone 8.1(WinRT)上运行。 - Artemious

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接