微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Xamarin 使矩形从图像继承位置

如何解决Xamarin 使矩形从图像继承位置

我只是想通过c#后面的代码来设置这个矩形位置。首先,我在 xaml 页面中有以下图像:

    <Image x:Name="danzo"
           Source="danzo.png"
           AbsoluteLayout.LayoutBounds="0.5,0.2,200,200"
           AbsoluteLayout.LayoutFlags="PositionProportional">

    </Image>

如您所见,这只是一张普通图片,并没有什么特别之处。在构造函数中,我尝试仅获取此图像并显示其尺寸(x、y、宽度和高度),如下所示:

Console.WriteLine("X Pos: {0}. Y Pos: {1}. Width: {2}. Height: {3}.",danzo.X,danzo.Y,danzo.Width,danzo.Height);

但它给了我“X Pos:0。Y Pos:0。宽度:-1。高度:-1。”。这根本不对。图像肯定有一些真实的尺寸值,对吗?如果重要的话,我在构造函数中的 InitializeComponent 函数之后有这个 console.writeline 代码行。

但是我在 xaml 中创建了一个按钮,并将它的点击函数设置为一个名为“PrintimageDetails”的函数,其代码行与上面完全相同。结果呢?我得到“X 位置:105.714285714286。Y 位置:121.142857142857。宽度:200。高度:200。”

因此,无论出于何种原因,在构造函数之后,我似乎无法真正获得真实的图像尺寸。 (或者也许有某种方法而我错过了它)这很重要,因为我想将矩形位置设置为图像位置。这就是让我想到问题标题的原因。由于我不能立即在后面的 c# 代码中获得实际位置,是否可以让我的矩形从 .xaml 中的图像继承位置?下面是我的矩形代码。就这么简单:

    <Rectangle x:Name="cropRect"
               AbsoluteLayout.LayoutBounds="0.5,200"
               AbsoluteLayout.LayoutFlags="PositionProportional"
               BackgroundColor="Orange"
               Opacity="0.5">
        
    </Rectangle>

我还希望能够在从图像中获取位置并将其放入矩形的同时进行一些数学运算。比如除法。如果可能,我们将非常感谢您提供有关如何实施的示例。

感谢任何愿意提供帮助的人。

解决方法

我实际上不必让 rect 从 xaml 中的图像继承,因为这个 LayoutChildren 函数似乎在代码隐藏中对我有用。此处链接How to get notified when ContentPage finishes loading

所以我将能够在该函数中获取图像的位置,然后能够将其应用于矩形。有效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。