Xaml Xamarin围绕图像形成自定义框架形状

Xaml Xamarin围绕图像形成自定义框架形状,xaml,xamarin.forms,Xaml,Xamarin.forms,我的应用程序中有一个图像,周围有一个框架,使图像成为一个圆圈。我想要一个自定义的框架形状,但不知道如何得到这个确切的形状 (请忽略图纸中的房子,它只是在Xamarin中代表一个图像,我只需要轮廓就是形状) 我也不需要框架有彩色边框,只需要形状 任何帮助都将不胜感激 下面是我现在的Frame+图像代码: <Frame x:Name="PictureFrame" Padding="0" Margin="0" HorizontalOptions="Center" BorderColor="Tr

我的应用程序中有一个图像,周围有一个框架,使图像成为一个圆圈。我想要一个自定义的框架形状,但不知道如何得到这个确切的形状

(请忽略图纸中的房子,它只是在Xamarin中代表一个图像,我只需要轮廓就是形状)

我也不需要框架有彩色边框,只需要形状

任何帮助都将不胜感激

下面是我现在的Frame+图像代码:

<Frame x:Name="PictureFrame" Padding="0" Margin="0" HorizontalOptions="Center" BorderColor="Transparent" WidthRequest="80" HeightRequest="80" HasShadow="False">
    <Image x:Name="Picture" Source="picture" Margin="0,0,0,0" Aspect="AspectFill"/>
</Frame>

您可能需要创建一个自定义渲染器来实现所需的功能。例如,在Android上,帧掩码实际上是用一个贝塞尔路径实现的,如果你深入一点代码,你可以根据自己的喜好控制它

看看AdvancedFrame视图,它几乎满足了您的需要。他们所做的修改是,你可以在左边或右边的两个角落都有一个90度的锐角。您只需稍微修改一下这段代码,就可以在除左上角之外的所有地方都有一个圆角

您需要修改的内容如下:

  • (如果您希望单独配置角半径或其他内容。这是从Xamarin.Forms中的原始帧控件继承的基础)
  • (仅当您需要UWP支持时)
提示:

在Android上,帧的背景掩码是用类定义的


在iOS上,使用UIKit框架中的类。

现在使用Xamarin。表单可以使用形状。路径数据是带点的圆

<AbsoluteLayout
    BackgroundColor="AliceBlue"
    >
    <Path
        AbsoluteLayout.LayoutBounds="0,0,1,1"
        AbsoluteLayout.LayoutFlags="All"
        Margin="8"
        Data="M142.798828,0 C221.365114,0.164668482 285,63.9009723 285,142.5 C285,221.200577 221.200577,285 142.5,285 C63.7994232,285 0,221.200577 0,142.5 C0,139.784357 0.0759637392,137.086456 0.225882227,134.408306 L0,133.828125 L0,0 L142.798828,0 Z"
        Stroke="LightBlue"
        StrokeThickness="2"
        HorizontalOptions="Center"
        VerticalOptions="Center"
        />
    <Image
        AbsoluteLayout.LayoutBounds="0,0,1,1"
        AbsoluteLayout.LayoutFlags="All"
        Aspect="AspectFit"
        Source="brigadeiro"
        HorizontalOptions="Center"
        VerticalOptions="Center"
        WidthRequest="94"
        HeightRequest="94"
        />
</AbsoluteLayout>    


谢谢你的建议,我现在就试试这个!祝你好运,使用贝塞尔路径一开始可能有点令人沮丧,但一旦你掌握了它们的要点,天空就是极限!