如何将正方形图片转换成带圆角的图片?

3

我希望对我的图像控件实现圆角遮罩效果,我设计了一个如下的控件:

    <Border x:Name="Border1"  CornerRadius="{Binding CornerRadius,Mode=TwoWay}"  >
            <Image  x:Name="ImageSource1" Background="Transparent" >
            </Image>
    </Border> 
<Border x:Name="MaskBorder1"  BorderBrush="White"  CornerRadius="{Binding CornerRadius,Mode=TwoWay}" BorderThickness="3" />

但我遇到了一个带有控件的问题。

输入图片说明

有人知道如何使用边框颜色填充角落吗?

3个回答

8
只需剪切图片,这是我使用的片段。
 <Image                               
                            Width="96"
                            Height="96"
                            Stretch="UniformToFill"
                            HorizontalAlignment="Left"
                            VerticalAlignment="Top">
                            <Image.Clip>
                                <EllipseGeometry
                                    Center="48,48"
                                    RadiusX="48"
                                    RadiusY="48" />
                            </Image.Clip>
                        </Image>

为了实现这个功能,您需要将中心点、X半径和Y半径设置为图片尺寸的一半。


这在Windows Phone 8.1(RT)上不起作用,因为它只支持矩形剪辑。 - Grigory

2

不知道这是否有帮助?但是对于图像处理,我总是使用Writeablebitmapex库! 而关于遮罩图像的一个很好的例子可以在这里找到...

希望能有所帮助。


0
不确定你对于 CornerRadius="{Binding CornerRadius,Mode=TwoWay}" 的使用,但如果你找到了 Stecya's post here 并且它正是你所需要的,我会很感兴趣看看你的实现。

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