在 Xamarin.Forms 中在框架内显示图像的一部分

Display part of an Image, inside a Frame, in Xamarin.Forms

在 Xamarin.Forms 中,如何在框架内仅显示较大图像的特定部分(即裁剪图像)?

假设我,例如想显示右下象限,像这样:

图片:

帧数:

我想要的部位(比如右下腹):

要显示(包含部分图像的框架):

我的代码(双边框只是为了加厚边框):

<Frame BorderColor="#880014" BackgroundColor="#880014" Padding="4">
    <Frame BorderColor="#880014" BackgroundColor="#FFFFFF" Padding="0">
        <!--
        An Image something like this...
        <Image Source="{local:ImageResource SGC.Resources.SGCLogo.png}" Aspect="Fill" ... />
        -->
    </Frame>
</Frame>

解决方案是在 <Frame> 中使用带有比例值的 <AbsoluteLayout>

<AbsoluteLayout>
    <Image Source="{local:ImageResource SGC.Resources.SGCLogo.png}"  
                   AbsoluteLayout.LayoutBounds="1, 1, 2, 2"  
                   AbsoluteLayout.LayoutFlags="All"  
                   Aspect="Fill"/>  
</AbsoluteLayout>

设置 LayoutFlags 以将所有值视为比例:
AbsoluteLayout.LayoutFlags="All".

并使用 LayoutBounds 设置 "X, Y, Width, Height" 的比例值,即: (AbsoluteLayout.LayoutBounds="1, 1, 2, 2")

其中“1, 1...”是右下象限。
(左下象限使用“0, 1...”):

并且“...2, 2”将图像裁剪为其大小的 1/4(两列和两行)。
(使用“...8, 8”表示 1/64 图像大小或使用“...2, 4”表示 1/8 大小):