Xaml Xamarin围绕图像形成自定义框架形状
我的应用程序中有一个图像,周围有一个框架,使图像成为一个圆圈。我想要一个自定义的框架形状,但不知道如何得到这个确切的形状 (请忽略图纸中的房子,它只是在Xamarin中代表一个图像,我只需要轮廓就是形状) 我也不需要框架有彩色边框,只需要形状 任何帮助都将不胜感激 下面是我现在的Frame+图像代码:Xaml Xamarin围绕图像形成自定义框架形状,xaml,xamarin.forms,Xaml,Xamarin.forms,我的应用程序中有一个图像,周围有一个框架,使图像成为一个圆圈。我想要一个自定义的框架形状,但不知道如何得到这个确切的形状 (请忽略图纸中的房子,它只是在Xamarin中代表一个图像,我只需要轮廓就是形状) 我也不需要框架有彩色边框,只需要形状 任何帮助都将不胜感激 下面是我现在的Frame+图像代码: <Frame x:Name="PictureFrame" Padding="0" Margin="0" HorizontalOptions="Center" BorderColor="Tr
<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支持时)
在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>
谢谢你的建议,我现在就试试这个!祝你好运,使用贝塞尔路径一开始可能有点令人沮丧,但一旦你掌握了它们的要点,天空就是极限!